来自用户策略的ChromeDriver扩展程序安装问题

时间:2018-10-19 11:39:19

标签: selenium webdriver selenium-chromedriver

我对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);

0 个答案:

没有答案