###前提・実現したいこと
ウェブページの要素をループでずっと取得し続けたいです。
Selenium builder を使ったrubyプログラムを作成しています。
対象のウェブページへ移動して、
要素をループで取得し続けることをしているのですが、
100回も取得できず、下記のエラーが出力されてしまいます。
###発生している問題・エラーメッセージ
The element reference of <td class= "対象の要素かな?"> stale; either the element is no longer attached to the DOM, it is not in the current frame context, or the document has been refreshed
Google翻訳によると・・・
<td class = "対象の要素かな?"> staleの要素参照。要素がDOMに接続されていないか、現在のフレームコンテキストに存在していないか、またはドキュメントがリフレッシュされている###該当のソースコード
ruby
1require 'selenium-webdriver' 2 3wd = Selenium::WebDriver.for :firefox 4 5 until 関数 6 wd.get("https://取得したい要素が存在するウェブページ") 7 youso = wd.find_element(:xpath, '取得したい要素のパス') 8 puts youso 9 end
結果:100回も取得することなく、下記のエラーが出力されてしまいます。
###試したこと
ループ処理の中に、sleep(1)を挟む ← 効果なし
$wait = Selenium::WebDriver::Wait.new(:timeout => 60)を使う ← 効果なし
###補足情報(言語/FW/ツール等のバージョンなど)
何か必要な情報があれば、追記します。
あなたの回答
tips
プレビュー