我正在使用Selenium进行测试。我注意到手动启动Chrome并以硒启动它的行为有所不同。经过大量调查,我将问题分解为JavaScript的window.chrome.runtime
,如果以硒开头,则为undefined
。
在对Google进行了一些研究之后,我发现人们面临着类似的问题,但是他们的解决方案都不适合我。
到目前为止,我已经尝试移除test-type
开关:
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches", Arrays.asList("test-type"));
我还有其他方法可以使它工作吗?
答案 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"));