為什麼「span:contains('string')」在 Firefox 中的 Selenium 中失敗,如何修復?
使用Firefox 的Selenium 中的「span:contains('string')」時出現無效的SelectorException
嘗試透過CSS 定位元素時在帶有Firefox 的Selenium Python 選擇器中,「span:contains('Control panel')」表達式可能會遇到InvalidSelectorException 並顯示訊息「給定CSS 選擇器表達式'span:contains('Control panel')' 無效。中所述,不支援:contains 偽類在CSS 規範中,因此Firefox 無法辨識。這個偽類是 Selenium 1.0 中使用的 Sizzle 選擇器引擎的一部分,但 WebDriver 不支援 Sizzle 風格的 CSS 選擇器。
對於本身不支援 CSS 選擇器的瀏覽器(例如 IE7 和 IE8), :contains 可能仍然有效,導致不同瀏覽器之間的不一致。更可靠的方法是使用span 標籤的另一個屬性,例如:
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')]")
登入後複製 - 使用標準化空間():
element = my_driver.find_element_by_xpath("//span[normalize-space()='Control panel']")
登入後複製
jQuery 還支持:contains 偽類,允許您使用以下表達式:
$('span:contains("Control panel")')
請記住,瀏覽器控制臺本身不支援CSS 選擇器,但jQuery 透過$('...') 支援它們快捷方式,通常會覆寫預設的 document.querySelector 方法。
以上是為什麼「span:contains('string')」在 Firefox 中的 Selenium 中失敗,如何修復?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在本週的平台新聞綜述中,Chrome引入了一個用於加載的新屬性,Web開發人員的可訪問性規範以及BBC Move

有很多分析平台可幫助您跟踪網站上的訪問者和使用數據。也許最著名的是Google Analytics(廣泛使用)
