无法隐藏Chrome V76中的“ Chrome是由自动软件控制的” Infobar



这不是一个真正的新问题,也不是对原始问题的答案,而是对Clarrity的请求被删除...

原始帖子在这里...无法隐藏chrome是由自动化软件控制的。Chrome V76

中的Infobar

因此,虽然我理解您的原始答案,但我们不使用Chrome的托管实例,并且我们都在Windows 10 Home Edition上运行...因此,此设置您的答案不是我们的选择。另一方面,我们所有的回归测试现在都失败了,因为这个愚蠢的横幅妨碍了一切。

是否有一种运行Windows 10 Home Edition的非IT管理用户可以抑制此横幅?

如果没有,Google如何期望我们继续使用Chrome进行测试?任何建议都非常感谢...另外,我正在使用Python,因此,如果您提供代码示例,请记住这一点...这是我目前正在做的事情,并且它在上周之前正常工作,但现在不起作用。..

options = webdriver.ChromeOptions()
options.add_argument('--start-maximized')
options.add_argument("--disable-infobars")
options.add_argument("--disable-extensions")
options.add_argument("--disable-automation")
options.add_argument("--log-level=3")
# options.add_argument('headless')
options.add_argument('window-size=1920x1012')
options.add_experimental_option("prefs", {"download.prompt_for_download": False})
options.add_experimental_option("prefs", {"plugins.plugins_list": [{"enabled": False, "name": "Chrome PDF Viewer"}]})
options.add_experimental_option("prefs", {"download.default_directory": os.path.abspath(context.BaseResultsDir + '/Downloads/')})
options.add_experimental_option("prefs", {"download.extensions_to_open": "applications/pdf"})
context.driver = webdriver.Chrome(chrome_options=options)

大量谷歌搜索后,这最终对我有用...更新了硒,切换到Chromedriver的金丝雀释放,然后对我的测试代码进行了这些调整,即Python。。

# options.add_argument("--disable-infobars")  <<< TOOK THIS OUT
# options.add_argument("--disable-automation")  <<< TOOK THIS OUT
options.add_experimental_option("excludeSwitches", ["enable-automation"])  <<< PUT THIS IN  (Finding this one was the real killer)
options.add_experimental_option("useAutomationExtension", False)  <<< PUT THIS IN

您的解决方案和我的解决方案非常相似。谢谢您的发布。

大卫

可能是上周在本周工作的设置背后的原因,您可能已经更新/自动化了Chromedriver或Chromebrowser。但是,您禁用Infobar的设置无法正常工作,因为根据此提交 - 2018年1月10日,--disable-infobars选项已从Chrome选项中删除

解决方案 - 保持这一行无助于options.add_argument("--disable-infobars")您可以将其删除。

  1. options.add_argument("--disable-automation")

此行在这里对解决方案产生了真正的混乱,因为有两种不同的方法可以做到这一点(默认情况下,启用了此开关,我们必须将其删除以禁用Infobar(。此行禁用密码保存UI以获取更多详细信息,请阅读此不错的讨论

  1. 使用此行来通过排除启用自动化开关来禁用Infobar -

    options.add_experimental_option("excludeSwitches" , ["enable-automation"])
    当我尝试使用间歇性开发人员代码插件弹出并要求启用/禁用它时,它在某种程度上解决了问题。options.add_argument("--disable-extensions")不会消失。如果您面临同一问题,请使用另一个开关将其禁用到以下 -

  2. options.add_experimental_option("excludeSwitches" , ["enable-automation","load-extension"])

这可以从root(负载扩展开关支持Chromedriver v2.33及以后(解决问题。但是,还有另一种方法可以禁用开发人员代码插件弹出窗口,您可以通过将其添加到Chrome

的快捷方式中来做到这一点。
  1. 如果这些解决方案对您不起作用,则铬命令行开关可以帮助您自定义Chrome行为

    额外的Chromedriver(功能功能(被弃用,可以用作

    capabilities = DesiredCapabilities.CHROME.copy() capabilities.update(options.to_capabilities())

    driver = webdriver.Chrome(chromedriver, desired_capabilities=capabilities)

解决 Java

的解决方案
options.setExperimentalOption("excludeSwitches", Arrays.asList("enable-automation" , "load-extension"));

将使用开发人员代码插件禁用Infobar

这对我有用:

options.add_option('excludeSwitches', ['enable-automation'])

我想

方法add_experimental_option从最新版本中删除。

最新更新