gpt4 book ai didi

python - selenium click() 无法关闭弹出窗口

转载 作者:行者123 更新时间:2023-12-04 13:31:56 25 4
gpt4 key购买 nike

我一直在研究一个假的“投注机器人”以学习 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:
Github page with the html
In this link you can find the page files, you might have to refresh it sometimes to get the pop up
感谢您的时间,并随时留下任何提示以改进我的代码。

最佳答案

我的解决方案:

#Closing popup for Portugese betting site

from selenium import webdriver
from selenium.webdriver.firefox.options import Options

URL = "https://www.betano.pt/sport/futebol/ligas/17083r/"

# Browser options
options = Options()
options.headless = True
firefox_profile = webdriver.FirefoxProfile()
firefox_profile.set_preference("browser.privatebrowsing.autostart", True)

browser = webdriver.Firefox(firefox_profile=firefox_profile)
browser.get(URL)

##### Copy this part into your own code #####
try:
browser.find_element_by_xpath('//button[@class="sb-modal__close__btn uk-modal-close-default uk-icon uk-close"]').click() # Click pop-up close button
print("Pop-up closed.")
except:
print("Pop-up button not found.")
#########
关闭此弹出窗口:
enter image description here
请记住,这依赖于通过非常具体的类名找到按钮。您需要将最后的 try-except 调整为您自己的代码。

关于python - selenium click() 无法关闭弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64544281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com