猿问

使用Java使用Selenium WebDriver加载Chrome配置文件

我遇到了一些让Selenium加载镀铬配置文件的麻烦。


String pathToChrome = "driver/chromedriver.exe";

System.setProperty("webdriver.chrome.driver", pathToChrome);


DesiredCapabilities capabilities = DesiredCapabilities.chrome();

String chromeProfile = "C:\\Users\\Tiuz\\AppData\\Local\\Google\\Chrome\\User Data\\Default";

ArrayList<String> switches = new ArrayList<String>();

switches.add("--user-data-dir=" + chromeProfile);

capabilities.setCapability("chrome.switches", switches);

WebDriver driver = new ChromeDriver(capabilities);

driver.get("http://www.google.com");

它开始很好并且工作得很完美,但是我想要加载默认配置文件,因为我想测试它,启用了一些Extensions并测试了一些首选项。


有没有人知道为什么这段代码不起作用?


我在Windows 7 x64上用Selenium 2.29.1和2.28.0以及chromedriver 26.0.1383.0测试了它。


慕哥9229398
浏览 3830回答 3
3回答

杨__羊羊

这是一个老问题,但我仍然遇到问题,所以我做了一些研究,以了解发生了什么。@PrashanthSams的答案是正确的,但我错误地添加\Default到配置文件路径的末尾我发现Chrome附加\Default到了指定的配置文件路径user-data-dir。因此,如果您的配置文件路径指定为:user-data-dir=C:\Users\user_name\AppData\Local\Google\Chrome\User Data\Default\它会附加\Default,你最终会:C:\Users\user_name\AppData\Local\Google\Chrome\User Data\Default\Default这与您在该用户配置文件下正常打开chrome时获得的配置文件不同。如果打开命令提示符,导航到chrome可执行文件目录,并使用与此类似的指定选项运行chrome,也可以验证设置:chrome.exe --user-data-dir="C:\Users\user_name\AppData\Local\Google\Chrome\User Data"最后,您可以转到Chrome中的新标签页并浏览到chrome://version/您将看到正在使用的实际个人资料。它将被列为:配置文件路径&nbsp;C:\ Users \ user_name \ AppData \ Local \ Google \ Chrome \ User Data \ Default

白猪掌柜的

这些组合确实对我有用:)System.setProperty("webdriver.chrome.driver","C:\\chromedriver.exe");ChromeOptions options = new ChromeOptions();options.addArguments("user-data-dir=C:/Users/user_name/AppData/Local/Google/Chrome/User Data");options.addArguments("--start-maximized");driver = new ChromeDriver(options);
随时随地看视频慕课网APP

相关分类

Java
我要回答