使用Python Selenium访问Airbnb时无法定位Cookie接受按钮如何解决?
正确定位代码替换
你可以直接替换原有代码中空的定位参数,以下是两种可用的写法:
- CSS选择器写法
WebDriverWait(navegador, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, 'button.accept-cookies-button'))).click()
- XPath写法
WebDriverWait(navegador, 10).until(EC.element_to_be_clickable((By.XPATH, '//button[@aria-label="OK" and contains(@class,"accept-cookies-button")]'))).click()
异常排查方案
如果仍定位失败,可按以下顺序排查:
- 确认Cookie弹窗没有嵌套在iframe中,若存在嵌套,需要先调用
navegador.switch_to.frame()方法切换到对应iframe再执行点击操作 - 若使用无头模式运行,需添加
--user-agent参数模拟正常浏览器请求,避免网站识别爬虫后隐藏Cookie弹窗 - 可适当延长显式等待的超时时间,适配网络较慢的加载场景
内容的提问来源于stack exchange,提问作者Samuel Nuñez
相关产品推荐
相关产品推荐

