2013-10-28 94 views
2

該網頁摘錄如下:硒網絡驅動程序Ruby-元素不可見異常

<div id="HPSearchInput"> 
<form> 
<ul></ul> 
<input type="submit" data-ember-action="3" class="ch-btn searchBtn"  value="Search"> 
</form> 

我使用下面的CSS選擇器,點擊搜索按鈕:

wait = Selenium::WebDriver::Wait.new(:timeout => 10) # seconds 
wait.until { (driver.find_element(:css => "#HPSearchInput > form > input.ch- btn.searchBtn")).click() } 

這是給我的錯誤:ElementNotVisibleError

我要去哪裏錯了?

+0

向我們展示完整的錯誤堆棧.. –

+0

[遠程服務器]文件:/// C:/用戶/ X_X /應用程序數據/本地/溫度/ webdriver的-profile2013102 8-7084- xaov0q/extensions/[email protected]/components/command_processor.js :8225:在'未知「:元素是當前不可見的,因此可以不INTERACTE d與(硒::的webdriver ::錯誤:: ElementNotVisibleError) 從[遠程服務器]文件:/// C:/用戶/ X_X /應用程序數據/本地/溫度/ webdriver的-p rofile20131028-7084-xaov0q/extensions/[email protected]/components/command _processor.js: 10816:來自[遠程服務器]的'unknown' f ILE:/// C:/用戶/ X_X /應用程序數據/本地/溫度/ webdriver的-P .......... – user2887254

+0

請添加任何額外的信息到你的問題,而不是在評論。 – Seanny123

回答

5

難道不會立即顯示一個元素?如果是這樣,請嘗試:

wait.until { driver.find_element(:css => "#HPSearchInput > form > input.ch- btn.searchBtn").displayed? } 
driver.find_element(:css => "#HPSearchInput > form > input.ch- btn.searchBtn"). 
+1

謝謝你解決這個問題。我已經接受它作爲答案。另外你可以告訴我爲什麼顯示Elementnotvisible錯誤,因爲顯然在頁面上顯示「元素」。 – user2887254