当我运行使用Chrome作为浏览器的selenium测试时,测试会挂起。原因是,由于浏览器作为SYSTEM用户运行,它会不断弹出Chrome的搜索引擎选择提示。如果我以交互方式运行selenium服务器,并且作为登录用户选择搜索引擎,它将启用测试运行。但是,下次我运行测试时会收到提示。
是否可以避免这种行为?
答案 0 :(得分:0)
这也发生在Firefox上。我做的是以管理员身份运行Firefox,并回答了一次所有的提示。
下次运行selenium脚本时,这些模态没有显示出来。 不确定这是否与Chrome直接相关,但绝对值得一试。
让我知道它是否有效?
答案 1 :(得分:0)
我可以建议你2个选项:
一个。 Open Chrome with a specific profile
湾在任何测试之前编写并运行安装程序,这将打开browser settings page并执行您需要的任何操作:
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
。