2013-04-19 13 views
12

私はPythonを使用しています。私はHow can I disable javascript in firefox with selenium?を見たところで、プロファイルを作成し、そのプロファイルでドライバをロードすると言いました。しかし、ページがレンダリングされた後でJavascriptを無効にしたいので、ドライバを再作成できません。ページがSelenium Webdriverでレンダリングされた後でJavascriptを無効にする

は、私は、次の試してみた:

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

しかし、私はこの取得:Javascriptが有効になっているよう

print browser.capabilities['javascriptEnabled'] 
True 

さらに、私のテストの残りの部分はまだ動作します。

+3

ページが読み込まれた後にJavascriptを無効にしたいのはなぜですか?具体的には、JS全体を無効にする必要があるのですか、読み込まれた静的ページとやりとりしたいだけですか? JSは、ページがロードされたとき、つまりページの外観/コンテンツをロードするときに実行するスクリプトを考慮していますが、残りがロードされた後に実行されるスクリプトを考慮していますか? – bdeniker

答えて

0

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') 
関連する問題