ホームページ  >  記事  >  バックエンド開発  >  クラス名ロケーターを使用すると、Selenium getText() メソッドがエラーをスローするのはなぜですか?

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-01 06:35:30108ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。