我有一个python脚本,可以使用selenium(chrome)登录airbnb。它曾经工作得很好,但自从Chrome更新后,有时驱动程序根本没有React。具体情况是:脚本可以成功地登录,但点击了几个按钮后,它就停止了响应。浏览器说:
Audit usage of navigator.userAgent, navigator.appVersion, and navigator.platform
结果,站点或者不响应或者需要很长时间来响应。
具体地说,在代码中,我首先登录到帐户(运行良好),然后跳转到托管页面(运行良好),但在此之后页面就停止响应了。
login(driver)
driver.get(SOME_URL)
bnt = driver.find_element(By.XPATH, XPATH_btn)
bnt.click() # here the page stops responding
有人遇到过这种奇怪的情况吗?
我试图通过chrome_options
设置chrome_options
,但没有工作。
webdriver配置:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--blink-settings=imagesEnabled=false')
1条答案
按热度按时间t3irkdon1#
此控制台日志...
...与google-chrome中User-Agent String Reduction的拟议更新有关。
控制台消息
控制台消息传达了Chromium团队计划逐步减少User-Agent头字段中可用信息的粒度,以及 *
navigator.userAgent
,navigator.appVersion
* 和 *navigator.platform
* JS API。Proposed Rollout Plan
阶段1:自Chrome 92(2021年7月20日)
行动呼吁(CTA):审核您的站点使用情况,以了解可能需要迁移的位置。
警告访问DevTools中的navigator.userAgent、navigator.appVersion和navigator.platform,从M92开始。
第二阶段:Chrome 95到Chrome 100
CTA:注册您网站的Origin试用版,并提供反馈,直到Chrome 101发布。
启动原产地试验,供研究中心选择最终的减少UA字符串进行测试和反馈,为期至少6个月。
我们将评估来自原产地试验合作伙伴和社区的反馈,并根据这些反馈进入我们计划的第3阶段至第7阶段,让生态系统有足够的时间在这两个阶段之间进行适应。否则,根据反馈,我们将重新考虑最佳行动方案。
缩减推出阶段3: chrome 100
CTA:在需要时,注册您网站的弃用试用版或企业策略。
启动弃用试用版和企业策略,以应对站点可能需要更多时间进行迁移的情况。
第4阶段:Chrome 101
CTA:确保您的网站与降低的Chrome版本号兼容,如果不兼容,请迁移到UA客户端提示。
发布减少的Chrome MINOR. BUILD. PATCH版本号("0.0.0")。一旦推出,减少的UA字符串将适用于桌面和移动操作系统上的所有页面加载,用于不选择弃用试验的网站。
第5阶段:Chrome 107
CTA:确保您的网站与减少的桌面UA字符串和相关的JS API兼容,如果不兼容,请迁移到UA客户端提示。
开始推出精简的Desktop UA字符串和相关的JS API(navigator.userAgent、navigator.appVersion、navigator.platform)。一旦推出,减少的UA字符串将应用于桌面操作系统上的所有页面加载,用于不选择弃用试验的网站。
第6阶段:Chrome 110
CTA:确保您的网站与精简的移动UA字符串和相关的JS API兼容,如果不兼容,请迁移到UA客户端提示。
开始推出精简的Android Mobile(和Tablet)UA字符串和相关的JS API。一旦推出,减少的UA字符串将应用于Android上未选择弃用试验的所有页面加载。
还原完成阶段7: chrome 113
弃用试验结束,所有页面加载都将收到缩减的UA字符串和相关的JS API。
有关每个阶段的更多详细信息和示例用户代理字符串,请参阅配套的简化用户代理字符串更新页面。我们也会在此页面上注明任何重大延迟或更改。
总结
此控制台消息不指示任何错误,并且与Selenium无关。页面停止响应背后的原因需要进一步研究您的usecase和框架设置/配置。