【发布时间】:2021-02-09 03:10:41
【问题描述】:
为了学习 selenium,我一直在开发一个假的“投注机器人”,但我无法关闭有时会出现在我想从中获得赔率的网站上的弹出窗口。
我的做法是使用函数submit_bets();过滤后的游戏列表,格式为:
"League|team 1|team 2|Date|Probability in %|and prediction(1,X or 2)"
我从here 获取数据。然后对于每个过滤后的比赛,我打开投注网站上的联赛投注页面,并浏览那里的所有比赛以找到过滤后的比赛并获得真正的赔率。对于filtered_games中的每个过滤游戏,我需要打开投注网站的页面,如果出现弹出窗口,我无法获取数据。
def submit_bets(filtered_games):
driver = webdriver.Chrome(PATH)
f=codecs.open("bets.txt","r", encoding='utf-8')
for line in filtered_games:
l=line.split("|")
print(l)
driver.get(leagues_to_links.get(l[0]))
scroll_down(driver)
time.sleep(2)
try:
button = driver.find_element(By.XPATH, "/html/body/div[1]/div/section[2]/div[7]/div/div/div[1]/button" )
driver.execute_script("arguments[0].scrollIntoView(true)", button)
button.click()
except:
print("no button")
games=driver.find_elements_by_class_name("events-list__grid__event")
for i in games:
game=str(i.text).split("\n")
try:
if forebet_teams_to_betano.get(l[1]) in game[2] and forebet_teams_to_betano.get(l[2]) in game[3]:
print(game)
if str(l[5]) == "1":
print("1")
print(str(game[7]))
elif str(l[5]) == "X":
print("X")
print(str(game[9]))
else:
print("2")
print(str(game[11]))
except:
print("")
In this link you can find the html of the page when the pop up shows up:
In this link you can find the page files, you might have to refresh it sometimes to get the pop up
感谢您抽出宝贵时间,并随时留下任何提示来改进我的代码。
【问题讨论】:
-
从页面发布相关的
Html并在您的帖子中弹出,而不是链接。 -
用 html 添加到 github 的链接
-
这是有问题的按钮吗: button = driver.find_element(By.XPATH, "/html/body/div[1]/div/section[2]/div[7]/div/ div/div[1]/button" ) 问题是什么?没有找到元素?你看到了什么错误?
-
是 /html/body/div[1]/div/section[2]/div[5]/div/div/div[1]/button 我相信,我没有任何参考这在代码上,因为当我使用 XPATH 查找后执行 .click() 时它什么都没有
标签: python html selenium web-scraping