我試圖獲取在博彩公司的投注頁面上突出顯示的不同運動,以便稍后提取不同的賠率并將它們與其他博彩公司的頁面進行比較。檢查結果如圖所示。
我試過的代碼如下:
Sport_list = driver.find_elements(By.CLASS_NAME, "filters__content")
對于運動串列中的運動:
列印(運動.文本)
不幸的是,sport_list 僅由一個元素組成,為什么我希望它具有與檢查部分中可見的運動數量相同的元素數量。
它只回圈 1 次并回傳以下內容:“足球\n網球\n籃球\n美式足球......”
有人可以幫我弄清楚出了什么問題嗎?
提前致謝。
布里厄
uj5u.com熱心網友回復:
怎么了?
因為您正在選擇<div>包含串列的 ,所以您將獲得<div>僅包含一個元素 ( )的結果集。
driver.find_elements(By.CLASS_NAME, "filters__content")
怎么修?
選擇<li>s<div>并獲取其文本使用xpath或如下例所示css selectors。
for e in driver.find_elements(By.CSS_SELECTOR,'.filters__content li'):
print(e.text)
輸出
Football
Tennis
Basketball
Football Américain
Hockey sur glace
Esports
Volleyball
Handball
Boxe
Rugby
Snooker
Fléchettes
Cyclisme
Waterpolo
MMA
Stock Car Racing
uj5u.com熱心網友回復:
嘗試
sport_list = driver.find_elements(BY.XPATH, "//div[contains(@class, 'filters__content')]//li")
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/382734.html
