span:contains('string' で CSS セレクターを使用して要素を検索しようとした場合) ) Python Selenium for Firefox では、次のような問題が発生する可能性があります。 error:
selenium.common.exceptions.InvalidSelectorException: Message: Given css selector expression "span:contains('string')" is invalid: InvalidSelectorError: 'span:contains('string')' is not a valid selector: "span:contains('string')"
この問題は、:contains 擬似クラスが CSS 仕様でも、Firefox や Chrome でもネイティブにサポートされていないために発生します。これは Selenium 1.0 Sizzle Selector Engine 専用でしたが、WebDriver はそのようなセレクターをサポートしていません。
代替ソリューション:
Use 属性セレクター:
element = "span[attribute_name=attribute_value]"
text()、contains()、および Normalize-space() メソッドをサポートする XPath を使用します:
element = my_driver.find_element_by_xpath("//span[text()='Control panel']")
CSS をサポートする jQuery を採用セレクター:
$('span:contains("Control panel")')
トリビア:
以上がSelenium の `span:contains('string')` セレクターが失敗するのはなぜですか?どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。