Selenium Python の無効な CSS セレクター: "selenium.common.Exceptions.InvalidSelectorException with "span:contains('string')""
Firefox で Selenium Python を使用している場合、「span:contains('コントロール パネル')」などの:contains() 疑似クラスを使用して CSS セレクターによって要素を検索しようとすると、「InvalidSelectorException」が発生する可能性があります。
理由:
:contains() 疑似クラスは、Firefox または Chrome ではサポートされていません。 Issue #987 と #1547 で述べたように、WebDriver は、:contains().
代替ソリューション:
代わりに、span タグの他の属性 (element = "span[attribute_name=attribute_value]"
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']")
$('span:contains("Control panel")')
注: :contains() を使用した CSS セレクターに jQuery を利用することもできます。これもコンソールではサポートされていませんが、jQuery は document.querySelector を独自の実装で上書きし、使用を許可します。
以上が:contains() を使用した CSS セレクターが Firefox の Selenium Python で「InvalidSelectorException」を引き起こすのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。