我使用 Selenium 驱动程序将 Capybara 与 Ruby 1.9.3 一起使用,以便从网站上获取信息。单击几页后,我访问了我想要的页面,然后输入:
all(:css, 'td').each { |td| a_info << td }
a_info.each {|t| puts t.text }
然后我在等待大约 10 秒后得到错误:
[remote server] resource://fxdriver/modules/web_element_cache.js:5628:in `unknown': Element not found in the cache - perhaps the page has changed since it was looked up (Selenium::WebDriver::Error::StaleElementReferenceError)
跟踪了更多远程服务器错误。我已经给页面 10-30 秒的睡眠时间,但它仍然没有加载,当我打印 page.html 时,我看到一个 javascript 脚本,然后是我试图从中获取信息的所有 td。我知道该错误意味着找到的元素不是当前元素,但似乎所有元素都已加载,所以我不确定它们为什么不再存在。我已经在互联网上搜索了几个小时来寻找这个,并且希望从可能的解决方案中获得任何帮助,以尝试解决问题以及尝试解决问题的后续步骤。我可以提供任何需要的额外信息,请告诉我。