selenium - 元素不再附加到 DOM selenium

  显示原文与译文双语对照的内容

我在 ruby 中的selenium 有以下问题。 它产生错误,即元素不再附加到 DOM 。 我发现一些解决方案需要等待,但我能够找出是否能等待一个没有has的元素。 如果我只有类名,我可以等待一个元素?


require 'selenium-webdriver'
#require Firefox installation!!

browser = Selenium::WebDriver.for :firefox
browser.get <URL>

wait = Selenium::WebDriver::Wait.new(:timeout => 20)

js_code ="return document.getElementsByClassName('Cell ')"

rawdata = Array.new
puts rawdata.size

elements = browser.execute_script(js_code)
elements.each{|e| rawdata.push(e.text) }

puts rawdata.size
arrSize = rawdata.length


puts rawdata.at(5) +"" + rawdata.at(4) +"" + rawdata.at(9) +"" + rawdata.at(6)

时间: 作者:

这回答了你的问题,但不一定能解决你的异常问题。 如果没有,你可能需要发布 HTML Fragment和 stacktrace 。

下面是在 ruby 中使用WebDriverWait的方法:


# create wait like you have already done
wait = Selenium::WebDriver::Wait.new(:timeout => 20)

# wait until something, you can use any locators you want, not just ids
# don't inject JavaScript directly, unless you have to
wait.until { driver.find_element(:class =>"dojoxGridCell") }

# do stuff to your raw data

作者:
...