2017-11-09 9 views
1

ドライバが満たすべき能力を指定する際に問題が発生しました。ポップアップをブロックするにはブラウザのインス​​タンスが必要です。 (持っている必要があります)Selenium Grid NodeはFirefoxの機能を無視します。

機能コード:

DesiredCapabilities caps = DesiredCapabilities().firefox(); 

FirefoxProfile profile = new FirefoxProfile(); 
profile.setPreference("dom.popup_maximum", 0); 

caps.setCapability(FirefoxDriver.PROFILE, profile); 

ドライバを作成するためのコード:BYは/私が意味する作業動作しないん

WebDriver driver1 = new FirefoxDriver(caps);    // this one works 
WebDriver driver2 = new RemoteWebDriver(properUrl, caps); // this one does not 

、そのDRIVER1はそれとしてブロックされたポップ・アップを持っています必要があるときにdriver2がポップアップを許可します。

ドライバが動作するため、グリッドハブへの接続は正しいですが、残念なことに設定は想定どおりに設定されていません。

誰かが私を助けてくれますか?

答えて

0

使用FirefoxOptions優先をカスタマイズするには:

FirefoxOptions options = new FirefoxOptions(); 
options.addPreference("dom.popup_maximum", 0); 

WebDriver driver = new RemoteWebDriver(new URL("http://127.0.0.1:4444/wd/hub"), options); 
+0

それは働きました!大いに感謝する! FirefoxOptionsとFirefoxProfileの違いをもう少し説明できますか? – Adrian

+0

'FirefoxProfile'は、プロファイルをドライブ上に物理的に構築するために使用されるレガシークラスです。それはもはや使用すべきではありません。 'FirefoxOptions'はgeckodriverによって導入されたクラスで、ドライバに直接機能を送ることでChromeOptionsのように動作します。 –

関連する問題