我正在嘗試使用 selenium 決議風向,我認為使用 xpath 是獲取此資訊的最簡單方法。有一個包含所有資訊的表格,該表格中元素的 xpath 遵循相同的結構,因此我的代碼如下:
wind_directions = [browser.find_element_by_xpath(f'//*[@id="archive_results"]/table/tbody/tr/td/table/tbody/tr[3]/td[{i}]').text for i in range(14,25)]
事實上,網站上的資料結構如下:

我的問題是,我想從上圖中獲取內容“rotate(494, 50, 50) translate(0,5)”,但我做不到:如果我嘗試將之前的 fstring 替換為f'//*[@id="archive_results"]/table/tbody/tr/td/table/tbody/tr[3]/td[{i}]/svg/g'],編譯器告訴我Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="archive_results"]/table/tbody/tr/td/table/tbody/tr[3]/td[14]/svg/g"}。
知道為什么我會收到這樣的訊息,而這是我在 Chrome 上檢查元素時出現的確切 xpath 嗎?(我對 fstring 中的索引進行了三重檢查,它不是錯誤的來源)。
uj5u.com熱心網友回復:
svg g等是特殊的標簽名稱。
要使用 XPath 定位此類節點,您可以按如下方式更改 XPath 運算式:
'//*[@id="archive_results"]/table/tbody/tr/td/table/tbody/tr[3]/td[{i}]/*[name()="svg"]/*[name()="g"]'
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/535220.html
上一篇:blogerapi內容如何剁?
下一篇:如何讓彈性專案跳到下一行?
