「span:contains('コントロール パネル')」による Selenium InvalidSelectorException
CSS セレクター「span:」を使用して要素を検索しようとしています。 Selenium Python で contains('コントロール パネル')" を実行すると、無効なセレクター例外。このエラーは、「contains」擬似クラスが Firefox または Chrome で認識されないために発生します。
CSS 仕様には、「:contains」擬似クラスが含まれていません。そのため、標準に準拠するブラウザではサポートされません。さらに、WebDriver は、Selenium 1.0 で ":contains" の使用を許可していた "Sizzle" セレクター エンジンをサポートしていません。
代替ソリューション
" の代わりに:contains" の場合は、 の属性の使用を検討してください。タグを使用して要素を識別します:
element = "span[attribute_name=attribute_value]"
または、XPath 式を使用します:
element = my_driver.find_element_by_xpath("//span[text()='Control panel']")
element = my_driver.find_element_by_xpath("//span[contains(.,'Control panel')]")
element = my_driver.find_element_by_xpath("//span[normalize-space()='Control panel']")
jQuery の使用
jQuery は、回避策:
$('span:contains("Control panel")')
以上がSelenium が「span:contains('コントロール パネル')」で InvalidSelectorException をスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。