内容:ガイド
序文
例外 1: 古い要素参照の例外
リテラル変換例外
古い要素参照例外: 古い要素参照例外
まず、この例外はどのような状況で発生するのでしょうか
? 簡単に言うと、ページ要素の有効期限が切れており、要素を参照できません。
この例外の一般的な理由
要素が完全に削除されました: 要素が削除されました [より一般的]
要素は DOM に接続されなくなりました: 要素は DOM に接続されなくなりました
要素が削除されました理由
を分析します
この最も一般的な理由: 要素が存在するページを更新するか、ユーザーが別のページに移動する
別の原因: JS ライブラリが要素を削除し、同じ ID または属性に置き換えます。
回避策:
要素を再度検索します。
要素は DOM にアタッチされなくなりました。
理由を分析してください
。DOM ツリーにアタッチされなくなった要素がガイドされている可能性があります (例: document.documentElement)
解決策:
要素を再度検索します
発生した状況:
selenium.common.Exceptions.StaleElementReferenceException: メッセージ: 古い要素参照: 要素がページ ドキュメントに添付されていません [2 番目のケース]
どのような状況でこの問題が発生しますか?
要素ホバーの場合、Webdriver.ActionChains(driver).move_to_element(element).perform() を呼び出すメソッド
の解き方?
例外をキャッチし、要素を再配置し、再度ホバーします。
これで問題が解決しない場合は、要素を直接クリックしてみてください (もちろん、ホバーをクリックに置き換える前に、要素をクリックしても他のインタラクションがトリガーされないことが前提です)。
例外 2: そのような要素の例外はありません
リテラル翻訳の例外
No such Element Exception: そのような要素の例外はありません
この例外はどのような状況で発生しますか
? 要素が存在せず、配置できません
。 要素は存在しますが、位置指定式に問題があるため、要素を配置できません。 ページの読み込み時間が長すぎます
。要素がロードされていないため、位置決めに失敗しました
この問題の解決方法 原因
1: 要素が存在する
探している要素がページ上に存在するかどうかを確認します
理由 2: 位置決め式に問題がある
まず検索したい要素が存在するか確認してください 存在する場合は位置決め式に問題がないか確認してください ブラウザで
F12、要素を入力、ctrl+f 、位置決め式を貼り付けて、対応する要素が見つかるかどうかを確認します
理由 3: ページの読み込みに時間がかかりすぎるため、
明示的待機または暗黙的待機を使用し、要素が正常に読み込まれた後で要素を見つけます。
以下は、私がまとめた 2023 年の最も完全なソフトウェア テスト エンジニア学習知識アーキテクチャ システム図です。 |
1. Pythonプログラミングの入門から習得まで
2.インターフェース自動化プロジェクトの実戦
3. Web自動化プロジェクトの実戦
4. アプリ自動化プロジェクトの実戦
5. 一流メーカーの再開
6. DevOps システムのテストと開発
7. 一般的に使用される自動テストツール
8、JMeterのパフォーマンステスト
9. まとめ(最後にちょっとしたサプライズ)
最初の一歩を踏み出し、夢を追いかけましょう。一生懸命働くことによってのみ、私たちは並外れた結果を達成することができます。忍耐して信仰を保ちなさい。逆境は気を引き締めるものであり、闘争は人生の基礎です。青春を輝かせ、輝きを追求する。成功は継続的な努力の中にあります。
毎日、人々は他の目的ではなく、ただ自分自身を向上させるためだけに、黙々と奮闘しています。どんなに難しくても、努力を続ければ成功は遠くありません。自分の可能性を信じて、勇敢に進んで、自分だけの輝きを創り出しましょう!
最善を尽くすことによってのみ成功の向こう岸に到達することができ、忍耐することによってのみ理想を実現することができ、一生懸命働くことによってのみ限界を超えることができます。自分を信じて、勇敢に進んでいけば、あなただけの輝かしい人生が拓けます!