如何使用Python Selenium处理网页Cookie弹窗并点击Accept All按钮
首先确保你已经安装了Selenium依赖和对应浏览器的WebDriver:
pip install selenium
完整可运行代码如下:
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 初始化Chrome浏览器,也可以替换为Firefox、Edge等对应驱动 driver = webdriver.Chrome() # 最大化窗口,避免元素被视口遮挡导致点击失败 driver.maximize_window() try: # 打开目标页面 driver.get("https://wax.atomichub.io/drops/36636") # 显式等待最多10秒,直到Accept All按钮可点击 accept_button = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.XPATH, "//button[text()='Accept All']")) ) # 点击按钮,普通点击失败可以换成JS点击方式 accept_button.click() # 普通点击失败时启用下面的JS点击代码 # driver.execute_script("arguments[0].click();", accept_button) print("Cookie同意按钮已点击,页面可正常操作") # 此处可添加你后续的页面操作代码 # ... except Exception as e: print(f"操作失败,错误信息:{str(e)}") finally: # 操作完成后关闭浏览器,不需要自动关闭可以注释掉这行 driver.quit()
常见问题排查
- 若定位不到按钮,先检查按钮是否处于iframe内,若是需要先切换到对应iframe再执行定位:
driver.switch_to.frame("iframe的ID/name属性值") - 若按钮文本有空格或者大小写差异,可以修改XPATH为模糊匹配:
//button[contains(text(), 'Accept All')] - 不要使用
time.sleep()做固定等待,显式等待会根据页面加载状态动态判断,稳定性更高
内容的提问来源于stack exchange,提问作者zuri_nahk
相关产品推荐
相关产品推荐

