使用Selenium Python关闭Oddschecker中的弹出窗口

w41d8nur  于 2023-02-02  发布在  Python
关注(0)|答案(1)|浏览(175)

需要关闭本页的cookie和广告弹出窗口,我知道您可以使用webdriverwait和CSS_SELECTOR或X标记,但我找不到按钮的特定标记,因为当您单击"检查"时,它们会消失。
代码试验:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys 
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.webdriver.chrome.service import Service

s=Service('C:\Program Files (x86)\chromedriver.exe')
driver = webdriver.Chrome(service=s)
driver.get(https://www.oddschecker.com/)

任何帮助都非常感谢。

hi3rlvi2

hi3rlvi21#

要单击元素OK,需要为element_to_be_clickable()引入WebDriverWait,可以使用以下locator strategies之一:

  • 使用 * CSS选择器 *:
driver.get("https://www.oddschecker.com/")
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div[class^='CookieBannerAcceptButton']"))).click()
  • 使用 * XPATH *:
driver.get("https://www.oddschecker.com/")
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//div[text()='OK']"))).click()
      • 注意**:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

相关问题