window.chrome.runtime未定义为selenium webdriver

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

我正在使用Selenium进行测试。我注意到了一种不同的行为,手动启动Chrome并使用selenium启动它。经过大量的调查后,我把问题分解为JavaScript的window.chrome.runtime,如果以硒开始,那就是undefined

经过对Google的一些研究后,我发现人们面临着类似的问题,但他们的解决方案都没有为我工作。

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

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

还有其他方法可以让它发挥作用吗?

java selenium selenium-webdriver selenium-chromedriver
1个回答
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);

0
投票

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

代码段:

ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches", Arrays.asList("test-type"));
© www.soinside.com 2019 - 2024. All rights reserved.