簡體   English   中英

我如何要求Selenium-WebDriver等到其中一個元素顯示出來

[英]How can I ask the Selenium-WebDriver to wait until one of elements display

我有一個頁面隨機顯示(使用Ajax) div#div1div#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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM