クラス名ロケーターを使用すると、Selenium getText() メソッドがエラーをスローするのはなぜですか?

Mary-Kate Olsen
リリース: 2024-11-01 06:35:30
オリジナル
189 人が閲覧しました

Why is my Selenium getText() method throwing an error when using a class name locator?

トラブルシューティング: Python の Selenium WebDriver を使用したテキストの抽出

問題:

Web 要素からテキストを取得しようとしたときSelenium WebDriver の getText() メソッドを使用すると、クラス名ロケーターを使用するとエラーが発生します。このエラーは、Web ページのリロード時に変更される動的 ID が原因で発生し、By.CLASS_NAME ロケーターの信頼性が低くなります。

HTML スニペット:

<code class="html"><span class="current-text" id="yui_3_7_0_4_1389185744113_384">my text</span></code>
ログイン後にコピー

Python コード:

<code class="python">text = driver.find_element_by_class_name("current-stage").getText("my text")</code>
ログイン後にコピー

解決策:

この問題を解決するには、無関係な getText("my text") 引数を削除してコードを簡素化します:

<code class="python">text = driver.find_element_by_class_name("current-stage").text</code>
ログイン後にコピー

説明:

getText() メソッドは、指定された Web 要素のテキスト コンテンツを返します。この場合、クラス名ロケーターは正しい要素を識別し、text 属性はそのテキスト内容を取得します。 getText() の 2 番目の引数として予期されるテキストを指定しようとすることは不要であり、混乱を招く可能性があります。

以上がクラス名ロケーターを使用すると、Selenium getText() メソッドがエラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート