在Selenium Webdriver中呈现页面后禁用Javascript

时间:2013-04-19 20:18:14

标签: python selenium-webdriver

我正在使用Python。我见过How can I disable javascript in firefox with selenium?表示要创建配置文件,然后使用该配置文件加载驱动程序。但是我想在页面渲染后禁用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一样启用。

1 个答案:

答案 0 :(得分: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')