尝试使用“begin ..ensure”方法单击element1后,等待元素2出现在网页上。如果element2不在那里,我想退出并记录一个错误。但element2出现在几秒钟内,但下面的代码将确保阻止并使驱动程序退出。 不知道是什么问题。由于事先:ruby selenium-webdriver等待元素“确保”不起作用
$driver.find_element(:id, "element1").click
wait = Selenium::WebDriver::Wait.new(:timeout => 10) # seconds
begin
wait.until {$driver.find_element(:id, "element2")}
ensure
#Logger login error to text error log file
$driver.quit #---------------------------> always goes to ensure and quits
end
$driver.find_element(:id, "element2").click -->> never gets here
谢谢您的回答。在执行下一个陈述之前确保网页上存在元素的最佳方法是什么 – user2270832 2013-04-11 16:07:24
Selenium-webdriver内置了等待方法。看看显式和隐式的等待 - http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp – 2013-04-11 16:54:23