2017-09-25 60 views
1

我在Watir webdriver中使用PhantomJs時遇到了困難。PhantomJs無法找到像使用Watir WebDriver的Chrome驅動程序的元素

這裏是我的代碼選擇元素時:

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

它使用Chrome,但使用PhantomJs時不工作時工作正常。

這是我如何開始使用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在Watir & Selenium中被棄用。 Chromedriver已經有一段時間明顯更快了,如果你真的需要它是無頭的話,現在已經實現了無頭模式。只需將--disable-gpu--headless添加到您的開關陣列即可。

+0

這不是我想的解決方案 – iamsankalp89

相關問題