2017-09-25 10 views
1

Watir webdriverでPhantomJsを使用する際に問題があります。要素を選択するときにここでPhantomJsはWatir WebDriverを使用してChromeドライバのような要素を見つけることができません

は私のコードです:

signInButton = driver.button text: 'Sign In' 
signInButton.wait_until_present 
signInButton.exists? 
signInButton.click 

PhantomJsを使用する場合には、Chromeを使用するときに正常に動作しますが、動作しません。

これは私がChromeを使用して起動する方法です:

@@driver = Watir::Browser.new :chrome, :switches => %w[--ignore-certificate-errors --disable-popup-blocking --disable-translate --disable-notifications --start-maximized] 
@@driver.driver.manage.timeouts.implicit_wait = 100 # seconds 

これは私がPhantomJsを使用して起動する方法です:

args = %w{--ignore-ssl-errors=true} 
@@driver = Watir::Browser.new :phantomjs, :args => args 
@@driver.driver.manage.timeouts.implicit_wait = 100 # seconds 

事前に助けと感謝してください。

+0

可能であれば、この場合はbrowser.buttonを使用するか、 'browser.button(type: 'submit')'を優先してテキストをロケータとして使用しないでください。さらに、Watirで 'implicit_wait'を使うべきではありません。 Watirはデフォルトであなたを待っています。暗黙の待ちはあなたのやり方でちょうどやります。 – titusfortner

答えて

0

PhantomJSは、Watire &セレンで非推奨になりました。 Chromedriverはしばらくの間、はるかに高速化されており、実際にヘッドレスにする必要がある場合はヘッドレスモードを実装しました。スイッチのアレイに--disable-gpu--headlessを追加するだけです。

+0

これは私が推測する解決策ではありません – iamsankalp89

関連する問題