CSS 선택기 "span:contains('Control panel')을 사용하여 요소를 찾으려고 할 때 ", InvalidSelectorException이 발생하여 다음 오류를 표시합니다. "주어진 CSS 선택기 표현식 "span:contains('Control panel')"이 유효하지 않습니다.".
문제 #987 및 #1547에 설명된 대로 :contains 의사 클래스는 CSS 사양에 포함되지 않으며 Firefox와 Chrome 모두에서 지원되지 않습니다. 이 의사 클래스는 Selenium 1.0에서 사용되는 Sizzle 선택기 엔진에 고유했습니다. 그러나 WebDriver는 Sizzle의 CSS 선택기를 통합하지 않기로 결정하여 이러한 불일치를 초래했습니다.
이 문제를 효과적으로 해결하려면 태그:
element = "span[attribute_name=attribute_value]"
제공된 DOM 트리를 사용하여 요소를 찾으려면 다음 XPath 옵션을 고려하세요.
text():
element = my_driver.find_element_by_xpath("//span[text()='Control panel']")
contains():
element = my_driver.find_element_by_xpath("//span[contains(.,'Control panel')]")
normalize-space():
element = my_driver.find_element_by_xpath("//span[normalize-space()='Control panel']")
$('span:contains("Control panel")')
위 내용은 \'span:contains(\'string\')\'을 사용하여 InvalidSelectorException을 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!