我有一个页面随机显示(使用ajax)div#div1
或div#div2
个元素之一。我怎么能等到其中一个元素显示在页面上?
browser = Selenium::WebDriver.for :firefox
browser_wait = Selenium::WebDriver::Wait.new(:timeout => 10)
browser.get("http://www.myweb.com")
element = browser_wait.until {
# browser.find_element(:css => "div#div1") ||
# browser.find_element(:css => "div#div2")
}
我可以使用什么代替注释行?
答案 0 :(得分:0)
你可以做一个"或"在CSS选择器中使用选择器之间的逗号。例如,以下CSS选择器将等待id为#34; div1"的div。或id为#34; div2":
的divdiv#div1, div#div2
您可以在找到元素时使用此定位器:
element = browser_wait.until {
browser.find_element(:css, 'div#div1, div#div2')
}
element
将找到任何div(如果两者都存在,则为页面上的第一个)。