問題タブ [staleelementreferenceexception]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Webdriver Wait または同等のもの - 属性付き
Selenium を使用してページ内のリンクをループするコード スニペットがあります。高速化を試みるために (50 ページを実行しているため)に置き換えTime.sleep(3)
ましたが、WebDriverWait()
動作させることができません。何らかの理由implicitly_wait(30)
で、トリックを行いません。
ドライバーが xpath で要素を見つけることができないため、変数「elems」を宣言しようとすると、コードが古い要素参照エラーを生成しますTime.sleep()
。WebDriverWait()
ここで使用した WebDriverWait() はその問題を解決しますが、コードは別の問題に遭遇します。ネストされた for ループの最後の行で、別の古い要素参照エラーがスローされます。WebDriverWait() がコードを進行させるときに要素が読み込まれますが、これらの要素の属性は必ずしも準備ができているとは限りません。
私の目的はコードをできるだけ速くすることなので、 Time.sleep(10) などはあまり魅力的ではありません。続行する前に、すべての要素とその属性がロードされていることをスムーズに確認するにはどうすればよいですか? そして、implicitly_wait(30) がこの問題を解決しないのはなぜでしょうか?
編集: 問題の URL: http://www.oddsportal.com/baseball/usa/mlb-2017/results/#/page/1/からhttp://www.oddsportal.com/baseball/usa/mlbへ-2017/結果/#/page/50/