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