您能否发布完整的html树以查看您的路径是否正确?
编辑:自己查一下。
尝试此按钮
element = self.driver.find_element_by_css_selector('main div div div div div div div div ul li+li+li a ')
,
请仔细检查网页上是否存在iframe,您需要先切换到iframe,然后才能对网络元素执行任何操作。
请找到用于切换更多详细信息的链接:
https://chercher.tech/python/iframe-selenium-python
,
这是在dataframe
中显示数据的代码。
import pandas as pd
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver
driver=webdriver.Chrome("C:\webdrivers\chromedriver.exe")
driver.maximize_window()
driver.get("https://www.betonline.ag/sportsbook/player-props")
WebDriverWait(driver,20).until(EC.frame_to_be_available_and_switch_to_it((By.ID,"builder")))
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"//li[@class='one-third one-third-remove']//a[./b[contains(.,'Over / Under')]]"))).click()
WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.CSS_SELECTOR,"div[ng-if='selected.league']"))).click()
WebDriverWait(driver,"//li[@ng-repeat='league in leagues']/a[.//span[text()='UCL']]"))).click()
WebDriverWait(driver,"div[ng-if^='selected.game']"))).click()
time.sleep(2)
WebDriverWait(driver,"//li/a[.//div[text()='All Available']]"))).click()
#WebDriverWait(driver,"//span[contains(.,'Shots (Player)')]"))).click()
player=[]
Over=[]
line=[]
Under=[]
Playersname=WebDriverWait(driver,10).until(EC.presence_of_all_elements_located((By.XPATH,"//div[@class='div-table__row__cell hard--bottom hard--right ng-scope']//a[@class='ng-binding']")))
for players in Playersname:
player.append(players.text)
OverAndUnder=WebDriverWait(driver,10).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR,"a>b.milli.caps.ng-binding")))
count=int(len(OverAndUnder)/2)
x=0
for i in range(count):
Over.append(OverAndUnder[x].text)
Under.append(OverAndUnder[x+1].text)
x=x+2
lines=WebDriverWait(driver,"div[ng-class*='overUnder']>b")))
for l in lines:
line.append(l.text)
df = pd.DataFrame({"Player":player,"Over":Over,"Line":line,"Under":Under})
print(df)
输出:
Line Over Player Under
0 3.5 +114 Divock Origi -149
1 1.5 -149 Dusan Tadic +114
2 3 -114 Gabriel Jesus -114
3 2.5 -167 Hakim Ziyech +127
4 2.5 -114 Josip Ilicic -114
5 2.5 +114 Mason Mount -149
6 1.5 -108 Mbwana Samatta -120
7 4.5 -137 Mohamed Salah +106
8 2.5 +110 Papu Gomez -143
9 1.5 +122 Paul Onuachu -159
10 1.5 -149 Quincy Promes +114
11 2.5 -114 Raheem Sterling -114
12 4 +114 Roberto Firmino -149
13 3.5 -149 Sadio Mané +114
14 3.5 +117 Sergio Agüero -152
15 3.5 -120 Tammy Abraham -108
16 2.5 +127 Willian -167
本文链接:https://www.f2er.com/3161777.html