我对ChromeDriver
有疑问。我有一个本地安装的Chrome(公司标准Chrome 58),我想使用Chrome70。我必须在Chrome中使用ChroPath
,但是我们有公司用户政策,基本上所有扩展名都在黑名单中。我的用户可以使用此扩展名(已从黑名单中删除)。在本地Chrome(58)中,我可以安装此扩展程序,一切正常。如果我手动启动便携式chrome,则可以安装此扩展程序,一切正常。如果运行Java代码并启动chromedriver
,则会弹出错误提示,表明该扩展名已被管理员禁用。
谁能帮我吗?
我使用chromedriver 43 version
我不知道这是什么问题,也许Java进程由我的用户运行,而chromedriver.exe
也由我的用户运行,但也许chromedriver
使用技术用户本地调用浏览器!?
这是我的Java代码:
try {
extensionFilesList = GeneraliFileUtils.getFolderFilesList(workingDir + "\\WebBrowsers\\PortableChrome\\Extensions\\", ".crx");
}
catch (NullPointerException ex) {
}
System.setProperty("webdriver.chrome.driver", "Drivers\\ChromeDriver\\chromedriver.exe");
ChromeOptions chromeOptions2 = new ChromeOptions();
chromeOptions2.setBinary("WebBrowsers\\PortableChrome\\chrome.exe");
chromeOptions2.setExperimentalOption("useAutomationExtension", false);
chromeOptions2.addArguments("start-maximized"); // open Browser in maximized mode
// chromeOptions2.addArguments("--incognito");
chromeOptions2.addArguments("disable-infobars"); // disabling infobars
chromeOptions2.addArguments("user-data-dir=c:\\Users\\y071339\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\"); // disabling infobars
if (extensionFilesList != null) {
extensionFilesList.forEach((file) -> {
chromeOptions2.addExtensions(new File(workingDir + "\\WebBrowsers\\PortableChrome\\Extensions\\" + file));
});
}
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(ChromeOptions.CAPABILITY, chromeOptions2);
webDriver = new ChromeDriver(capabilities);