テストスイートでは、Firefoxインスタンスを制御するpythonスクリプトをselenium webdriverを使って実行しています。 about:configの設定dom.disable_open_during_load
をtrue
に変更したいと思います。これは私のデフォルトのFirefoxプロファイルのデフォルト設定ですが、webdriverインスタンスを起動するときはいつでも、セレンはそれをfalse
(ユーザ定義)に変更します。それは、匿名の、わずかに変更されたプロファイルを使用するようだ!私はそれを手動で元に戻すことができますが、私はコードでそれをするのに苦労していました。新しいプロファイルを使用することも、Firefoxのプロファイルマネージャで設定されたプリセットプロファイルを使用することも問題を解決することはできません。Selenium:Firefox webdriverのabout:configのブーリアン設定
from selenium import webdriver
FFprofile = webdriver.FirefoxProfile()
FFprofile.set_preference('dom.disable_open_during_load', 'true') # I also tried True, 1 - with and without quotes
# FFprofile = webdriver.FirefoxProfile('C:/Users/ExampleUser/AppData/Local/Mozilla/Firefox/Profiles/owieroiuysd.testprofile')
FFdriver = webdriver.Firefox(firefox_profile=FFprofile)
FFdriver.get('http://www.google.com')
このようにさまざまな設定を変更できますが、この設定は機能しません。変更された値false
は「ユーザー定義」のどこから来たのですか?それはどこかでセレンの自動設定ですか?私が使用しています:
- geckodriver 0.16.1
- セレン3.4.2。
- のFirefox 53.0.3(64ビット)
- のpython 3.4.4
編集:私はJavaで同じ問題を扱う、SOにthis questionを見つけました。
これが不可能であることが判明した場合は、おそらく素晴らしい回避策がありますか?何か案は?
ようこそ[so]!あなたのコードが何をしているか説明してください。もし誰かが説明なしでそれを理解したら、とにかく自分自身で書くことができるでしょう。 – jpaugh
あまりにも遅く戻ってきて申し訳ありません...うわー、これは本当にうまくいきます!おかげさまで、私はこれを考え出すことはできません! :) – nostradamus
Pycharmでソースコードを読んでデバッグすれば、それを見つけることができます。 – user175257