我在網頁中有許多行中的鏈接,它們的類名相同。就像這樣:掃描其類名相同的行元素
我能夠使用XPath單擊第一個環節出現,
"(//span[@class='odds black'])"
不過,我想通過特定的行掃描和點擊每個賠率(如果是當下)。 如何實現這一目標的任何幫助?
注意:我找不到使用其他屬性的元素,因爲它會根據數據動態更改。
的參考源代碼圖片:
我在網頁中有許多行中的鏈接,它們的類名相同。就像這樣:掃描其類名相同的行元素
我能夠使用XPath單擊第一個環節出現,
"(//span[@class='odds black'])"
不過,我想通過特定的行掃描和點擊每個賠率(如果是當下)。 如何實現這一目標的任何幫助?
注意:我找不到使用其他屬性的元素,因爲它會根據數據動態更改。
的參考源代碼圖片:
而是以這種格式使用XPath的:
/html/body/div[2]/div[3]/div[1]/div[1]/div[2]table/tbody[31]/tr[1]/td[5]/a/span[2]/span/span
:
"(//span[@class='odds black'])"
你能在正上方的紅色框所示這種格式使用3210
(你可以通過在螢火蟲中選擇一個元素,右鍵點擊它的代碼並選擇複製XPATH來輕鬆獲得這種格式)。
我發現在很多情況下,我可以添加tr [1]或其他路徑屬性的計數器,以便相當準確地向下移動行。我實在看不出你的網站中的XPath比較之下,但我想這將是這樣的:
/html/body/div[2]/div[3]/div[1]/div[1]/div[2]table/tbody[31]/tr[1]/td[5]/a/span[2]/span/span
/html/body/div[2]/div[3]/div[1]/div[1]/div[2]table/tbody[31]/tr[2]/td[5]/a/span[2]/span/span
/html/body/div[2]/div[3]/div[1]/div[1]/div[2]table/tbody[31]/tr[3]/td[5]/a/span[2]/span/span
那麼你可以添加一個計數器,如「我」
所以你會遍歷在櫃檯循環,並將其設置爲:
"/html/body/div[2]/div[3]/div[1]/div[1]/div[2]table/tbody[31]/tr["+str(i)+"]/td[5]/a/span[2]/span/span"
假設類的名字將永遠「的賠率有些顏色」,您可以使用XPath的contains()功能。 Xpath是這樣的:
"//span[contains(@class,'odds')]"
將返回包含字符串'賠率'在classname中的所有跨度。
CSS選擇器是類感知的,所以它對我來說會更有意義;
span.odds
Xpath的治療類作爲一個簡單的字符串,迫使你用「包含」凡爲CSS允許您單獨治療類
您能否在此頁面添加鏈接以查看源代碼的外觀?班級名稱總是'可能性some_color'? –
@pawelmhm是的,它對於同一行中的「整數」總是相同的。請參考網站(www.sbobet.com/euro)......我也編輯了我的問題,以包含完整的源代碼。 – Shan