在网页上找不到元素

2024-10-01 17:41:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在这个网站上找到所有类名为“af24c._8125e”的元素:'https://www.unibet.eu/betting/sports/filter/football/england/premier_league/matches' 但当我运行以下代码时:

 from selenium import webdriver
import pandas as pd

PATH = 'C:\Program Files (x86)\Chromedriver.exe'
driver = webdriver.Chrome(PATH)
URL = 'https://www.unibet.eu/betting/sports/filter/football/england/premier_league/matches'
driver.implicitly_wait(5)
driver.get(URL)
driver

# Teams vinden en list van maken
Teams = driver.find_element_by_class_name('af24c._8125e')
print(Teams)

它返回一个空列表。 我尝试过等待加载元素的时间更长,但这不起作用,我还认为可能是因为元素在iframe或其他东西中,所以它不起作用,但我找不到它

如何找到这些元素


Tags: https元素wwwdriverfiltersportseuteams
1条回答
网友
1楼 · 发布于 2024-10-01 17:41:24

您使用了错误的定位器。
此外,使用隐式等待,您肯定不会获得所有元素。
我建议在找到first team元素后添加一个小睡眠,以便加载所有其他元素。
您还应该使用find_elements_by_class_name而不是find_element_by_class_name
您还需要提取元素文本,而不是打印元素本身。
试试这个:

from selenium import webdriver
import pandas as pd

PATH = 'C:\Program Files (x86)\Chromedriver.exe'
driver = webdriver.Chrome(PATH)
URL = 'https://www.unibet.eu/betting/sports/filter/football/england/premier_league/matches'
driver.implicitly_wait(5)
driver.get(URL)
driver

# Teams vinden en list van maken
#This will wait until first team element is found
driver.find_element_by_class_name('af24c')
#The sleep will ensure all the other elements are loaded
time.sleep(1)
#get all the teams elements
teams = driver.find_elements_by_class_name('af24c')
#Iterate over teams, extract each team element text
for team in teams:
   print(team.text)

相关问题 更多 >

    热门问题