Webサイトから情報を取得するために、セレンドライバーを使用して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 が表示されます。エラーは、見つかった要素が現在のものではないことを意味することは知っていますが、すべての要素が既に読み込まれているように見えるので、なぜそれらがもう存在しないのかわかりません。私はこれを探して何時間もインターネットを探し回りましたが、試してみるべき可能な解決策とそれを理解しようとするための次のステップから、あらゆる種類の助けを求めています. 必要な追加情報を提供できます。お知らせください。