【问题标题】:local connection issue selenium web driver with chrome driver本地连接问题 selenium web 驱动程序与 chrome 驱动程序
【发布时间】:2016-06-30 16:50:07
【问题描述】:
package Demo;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class Demo {
    public static void main(String[] args) {
        String userProfile = "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe";
        ChromeOptions options = new ChromeOptions();
        options.addArguments("user-data-dir=" + userProfile);
        options.addArguments("--start-maximized");

        System.setProperty("webdriver.chrome.driver", "C:\\Users\\Abhishek.Dalakoti\\workspace\\HomeShopDemo\\Chromedriver.exe");

        WebDriver driver = new ChromeDriver(options);
        driver.get("http://www.google.com");
        //driver.findElement(By.xpath("//*input[@type='text']")).sendKeys("dell");
    }
}

这是我在运行上述程序时遇到的错误。有人解决了吗?

我尝试更改 Selenium 和 ChromeDriver 的版本,但没有任何效果。

Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: cannot create default profile directory

(Driver info: chromedriver=2.19.346078 (6f1f0cde889532d48ce8242342d0b84f94b114a1),platform=Windows NT 6.1 SP1 x86_64) 

(WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 750 milliseconds

Build info: version: '2.52.0', revision: '4c2593c', time: '2016-02-11 19:03:33'
System info: host: 'HSNMM-AbhishekD', ip: '10.50.33.160', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_73'
Driver info: org.openqa.selenium.chrome.ChromeDriver
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:159)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:148)
    at Demo.Demo.main(Demo.java:16)

【问题讨论】:

  • 已经试过了还是不行。
  • 尝试添加:System.setProperty("webdriver.chrome.driver","C:\\chromedriver.exe");
  • 已经尝试过这种方式。
  • 我认为您的问题出在您的 chrome 配置文件路径中。

标签: java selenium-webdriver selenium-chromedriver


【解决方案1】:

如果您查看ChromeDriver source,这非常简单。

如果传递了user-data-dir 参数,则应用程序will take that 将成为配置文件目录,并且它希望能够在其中创建一个名为Default 的目录。 If it fails 创建它(以及所有必需的父母)或收到错误,您将 end up 与:

无法创建默认配置文件目录

因此解决方案是确保您传递给user-data-dir 的内容存在,是一个目录,是可写的,并且(可能)不包含Default 目录。

【讨论】:

    猜你喜欢
    • 2022-01-28
    • 2017-09-11
    • 1970-01-01
    • 2016-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-10
    相关资源
    最近更新 更多