如何阻止 Chrome 在 Selenium 测试期间提示搜索引擎

问题描述 投票:0回答:3

当我运行使用 Chrome 作为浏览器的 selenium 测试时,测试挂起。原因是,由于浏览器以SYSTEM用户身份运行,因此不断弹出Chrome的搜索引擎选择提示。如果我以交互方式运行 selenium 服务器,并且作为登录用户选择一个搜索引擎,它将允许测试运行。但是,下次运行测试时,我会收到提示。

是否可以避免这种行为?

windows google-chrome selenium automated-tests
3个回答
0
投票

我在 Firefox 上也遇到过这种情况。我所做的就是以管理员身份运行 Firefox,并一次性回答了所有提示。

下次当我运行 selenium 脚本时,这些模态没有显示。 不确定这是否与 Chrome 直接相关,但绝对值得一试。

让我知道是否有效?


0
投票

我可以建议你2个选择:

a. 使用特定配置文件打开 Chrome。

b.在任何测试之前编写并运行设置例程,这将打开

浏览器设置页面并执行您需要的任何操作:

from selenium.webdriver import Chrome SETTINGS_PAGE_URL = 'chrome://settings/browser' SEARCH_ENGINE_DROPDOWN_ID = 'defaultSearchEngine' SEARCH_ENGINE_CHOICE_XPATH = '//option[text()="Google"]' browser = Chrome() browser.get(SETTINGS_PAGE_URL) dropdown = browser.find_element_by_id(SEARCH_ENGINE_DROPDOWN_ID) option = dropdown.find_element_by_xpath(SEARCH_ENGINE_CHOICE_XPATH) option.click() browser.get('http://wherever.you/need/to/go/next/')

我会使用选项

a


0
投票
显然这是 Mac 操作系统特有的问题。我通过向 selenium 驱动程序提供选项

disable-search-engine-choice-screen

 来解决这个问题,如下所示:

enter image description here

来源:

https://github.com/cherrypush/cherrypush.com/pull/373/files#diff-58be79ee432aa1a1e12529b3141879d9c9503ac6e071c47e2d53462d339362b7

© www.soinside.com 2019 - 2024. All rights reserved.