python - 网页抓取 - 接受 Cookies - SELENIUM - PYTHON - AIRBNB
问题描述
我正在尝试接受 airbnb 主页中的 cookie。但我找不到得到它的“钥匙”。在我的代码下面找到:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from time import sleep
options = Options()
# options.add_argument('--headless')
options.add_argument('window-size=400,800')
navegador = webdriver.Chrome(options=options)
navegador.get('https://www.airbnb.com/')
# I tried this 02 ways
WebDriverWait(navegador, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, ""))).click()
WebDriverWait(navegador, 10).until(EC.element_to_be_clickable((By.XPATH, ""))).click()
在 Airbnb 的 HTML 下方查找
<button class="optanon-allow-all accept-cookies-button" title="OK" aria-label="OK" onclick="Optanon.TriggerGoogleAnalyticsEvent('OneTrust Cookie Consent', 'Banner Accept Cookies');" tabindex="1">OK</button>
解决方案
尝试这个:
WebDriverWait(navegador, 10).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "button.accept-cookies-button"))).click()
另外,我不明白你为什么定义这么小的屏幕尺寸?
我们通常使用
options.add_argument('--window-size=1920,1080')
另外,它应该在--
那里,就像我在这里使用的那样
推荐阅读
- ios - WebView 应用程序仅加载到网页中。很难得到苹果的认可?
- tfs - 如何减少 TFS 工作区中的项目数
- python - 根据 3 个变量的颜色 - 麦克斯韦三角形
- c - 从文件读取时联合导致分段错误
- javascript - 在 Javascript 中使用循环创建 HTML 列表
- reactjs - fetch 包无法从 API 中获取任何数据
- python-3.x - 为什么程序给我错误的答案或“RecursionError:比较超出最大递归深度”?我能做些什么?
- javascript - 使用 Indesign 脚本重新排序/移动页面
- azure-data-factory - Azure 数据工厂活动“dependsOn”中的多个失败依赖项
- android - android谷歌地图json中的标记