Selenium Webdriver未定义window.chrome.runtime

时间:2018-09-07 14:29:11

标签: java selenium selenium-webdriver selenium-chromedriver

我正在使用Selenium进行测试。我注意到手动启动Chrome并以硒启动它的行为有所不同。经过大量调查,我将问题分解为JavaScript的window.chrome.runtime,如果以硒开头,则为undefined

在对Google进行了一些研究之后,我发现人们面临着类似的问题,但是他们的解决方案都不适合我。

到目前为止,我已经尝试移除test-type开关:

ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches", Arrays.asList("test-type"));

我还有其他方法可以使它工作吗?

2 个答案:

答案 0 :(得分:0)

Selenium不会使用现有的浏览器配置文件启动浏览器,而是每次创建一个临时配置文件。因此,它不需要发送js来检查任何已安装的插件。为了避免出现未定义的运行时,请使用现有的浏览器配置文件。

ChromeOptions options = new ChromeOptions();
// edit this path
options.addArguments("user-data-dir=C:\\Users\\pburgr\\AppData\\Local\\Google\\Chrome\\User Data");   
driver = new ChromeDriver(options);

答案 1 :(得分:0)

为我完成工作的答案在https://groups.google.com/forum/#!topic/chromedriver-users/7wF9EHF2jxQ

代码段:

ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches", Arrays.asList("test-type"));