Selenium Web驱动程序Ruby-元素不可见异常

use*_*254 2 ruby selenium selenium-webdriver

网页代码段如下所示:

<div id="HPSearchInput">
<form>
<ul></ul>
<input type="submit" data-ember-action="3" class="ch-btn searchBtn"        value="Search">
</form>
Run Code Online (Sandbox Code Playgroud)

我使用以下css选择器单击搜索按钮:

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

它给了我错误:ElementNotVisibleError

我哪里错了?

小智 5

这是一个不会马上出现的元素吗?如果是这样,请尝试:

wait.until { driver.find_element(:css => "#HPSearchInput > form > input.ch-  btn.searchBtn").displayed? }
driver.find_element(:css => "#HPSearchInput > form > input.ch-  btn.searchBtn").
Run Code Online (Sandbox Code Playgroud)