[英]How can I ask the Selenium-WebDriver to wait until one of elements display
我有一個頁面隨機顯示(使用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")
}
我可以用什么代替注釋行?
您可以使用選擇器之間的逗號在CSS選擇器中執行“或”操作。 例如,以下CSS選擇器將等待ID為“ div1”的div或ID為“ div2”的div:
div#div1, div#div2
查找元素時可以使用此定位器:
element = browser_wait.until {
browser.find_element(:css, 'div#div1, div#div2')
}
element
將是找到的div(如果兩者均存在,則為頁面的第一個)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.