在Firefox 中使用Python 中的Selenium 時,嘗試使用CSS 選擇器「span:contains('Control panel')」尋找元素可能會導致以下錯誤:
selenium.common.exceptions.InvalidSelectorException: Given css selector expression "span:contains('Control panel')" is invalid: InvalidSelectorError: 'span:contains('Control panel')' is not a valid selector: "span:contains('Control panel')"
此錯誤表明提供的CSS選擇器無效。根據Issue#987和Issue#1547,Firefox或Chrome不支援「:contains」偽類。
The ": contains" 偽類不是標準 CSS 選擇器,應替換為替代屬性選擇器。例如:
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']")
$('span:contains("Control panel")')
瀏覽器控制台不支援CSS 選擇器,但JQuery 提供了快捷方式文檔.querySelector。因此,如果頁面上啟用了 CSS 選擇器,JQuery 可能會支援 CSS 選擇器。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3