我正在使用Selenium进行测试。我注意到了一种不同的行为,手动启动Chrome并使用selenium启动它。经过大量的调查后,我把问题分解为JavaScript的window.chrome.runtime
,如果以硒开始,那就是undefined
。
经过对Google的一些研究后,我发现人们面临着类似的问题,但他们的解决方案都没有为我工作。
到目前为止,我已尝试删除test-type
开关:
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches", Arrays.asList("test-type"));
还有其他方法可以让它发挥作用吗?
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);
为我做的工作的答案是在https://groups.google.com/forum/#!topic/chromedriver-users/7wF9EHF2jxQ
代码段:
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("excludeSwitches", Arrays.asList("test-type"));