問題タブ [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.

0 投票する
1 に答える
64 参照

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/