Selenium InvalidSelectorException with "span:contains('Control panel')"
CSS 선택기 "span:를 사용하여 요소를 찾으려는 시도: Selenium Python의 contain('Control panel')"은 InvalidSelectorException을 초래할 수 있습니다. 이 오류는 Firefox 또는 Chrome에서 "contains" 의사 클래스를 인식하지 못하기 때문에 발생합니다.
CSS 사양에는 ":contains" 의사 클래스가 포함되어 있지 않습니다. 따라서 표준을 준수하는 브라우저에서는 지원되지 않습니다. 또한 WebDriver는 Selenium 1.0에서 ":contains"를 사용할 수 있는 "Sizzle" 선택기 엔진을 지원하지 않습니다.
대체 솔루션
대신 ":contains" :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('Control panel')'을 사용하여 InvalidSelectorException을 발생시키는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!