Chrome中禁用Google Vignette广告:Robot Framework自动化测试求助
解决Robot Framework+Selenium中Google Vignette广告干扰测试的方案
方法一:使用针对性的Chrome启动参数组合
单纯禁用弹窗拦截对Google Vignette广告无效,试试这些参数组合,直接从浏览器层面禁用广告相关功能:
--disable-blink-features=AutomationControlled:避免网站检测到自动化工具,减少针对性广告触发--disable-features=Vignette:直接关闭Chrome的Vignette广告功能--ad-blocking-enabled:启用Chrome内置广告拦截--disable-popup-blocking:保留原有的弹窗拦截参数
Robot Framework中的写法:
Open Browser https://automationexercise.com browser=chrome options=add_argument("--disable-blink-features=AutomationControlled");add_argument("--disable-features=Vignette");add_argument("--ad-blocking-enabled");add_argument("--disable-popup-blocking")
方法二:手动定位关闭广告元素
如果参数方案不生效,可以在测试流程开头添加关闭广告的步骤。先通过Chrome开发者工具找到广告关闭按钮的定位器(比如X按钮的XPath/CSS选择器),然后添加等待和点击操作:
示例代码:
# 等待广告关闭按钮出现,最多等10秒 Wait Until Element Is Visible xpath://button[contains(@class, 'close') or contains(text(), 'Close')] 10s # 点击关闭按钮 Click Element xpath://button[contains(@class, 'close') or contains(text(), 'Close')]
注意:实际使用时要根据目标网站的广告元素调整定位器,确保能准确命中关闭按钮。
方法三:加载广告拦截扩展
借助成熟的广告拦截扩展(比如uBlock Origin),可以更彻底地拦截各类广告:
- 下载uBlock Origin的CRX文件并解压到本地文件夹
- 在启动Chrome时添加加载扩展的参数:
Open Browser https://automationexercise.com browser=chrome options=add_argument("--load-extension=/your/local/path/to/ublock-origin-folder")
注意:路径要填你解压后的扩展文件夹路径,确保Chrome能正常加载。
方法四:补充稳定性参数减少异常广告
有些广告会在浏览器环境异常时触发,添加这些参数提升自动化浏览器的稳定性:
--start-maximized:最大化窗口,避免特定尺寸下的广告触发--disable-dev-shm-usage:解决Linux环境下的资源限制问题--no-sandbox:提升Linux环境下浏览器的稳定性(Windows环境可忽略)
内容的提问来源于stack exchange,提问作者WYZku
相关产品推荐
相关产品推荐

