15

我正在使用 Python。我已经看到如何使用 selenium 在 Firefox 中禁用 javascript?它说要创建一个配置文件,然后使用该配置文件加载驱动程序。但是我想在页面呈现后禁用 Javascript,这意味着我无法重新创建驱动程序。

我尝试了以下方法:

browser = selenium.webdriver.Firefox()
browser.get('http://wwwhatever.com')
browser.firefox_profile.set_preference('javascript.enabled', False)
browser.firefox_profile.update_preferences()

但我明白了:

print browser.capabilities['javascriptEnabled']
True

此外,我的测试的其余部分仍然像启用了 Javascript 一样。

4

1 回答 1

2

可以使用 QuickJs 扩展 - https://addons.mozilla.org/en-US/firefox/addon/quickjs/?src=search。这个扩展添加了 Ctrl+q 快捷键来禁用 javascript。这是代码:

profile = selenium.webdriver.FirefoxProfile()
profile.add_extension("addon-8753-latest.xpi") #QuickJs extension
browser = selenium.webdriver.Firefox(profile)
browser.get('http://wwwhatever.com')

#Turn of javascript, send Ctrl+q
body = browser.find_element_by_tag_name("body")
body.send_keys(selenium.webdriver.common.keys.Keys.CONTROL + 'q')
于 2013-10-29T16:16:24.337 回答