Selenium ChromeDriver不使用默认用户数据访问网址

问题描述 投票:2回答:3

它会在一个带有默认开始菜单的新窗口中打开,并显示Chrome正在由自动测试软件控制的通知,但它不会转到该网址。

System.setProperty("webdriver.chrome.driver","C:\\Users\\"+System.getProperty("user.name")+"\\chromedriver.exe");

    ChromeOptions options = new ChromeOptions();
    options.setBinary("C:\\Users\\"+System.getProperty("user.name")+"\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe");
    options.addArguments("--user-data-dir=C:\\Users\\"+System.getProperty("user.name")+"\\AppData\\Local\\Google\\Chrome\\User Data\\");
    WebDriver driver = new ChromeDriver(options);
    driver.get("https://www.google.com");

我也尝试过:

        System.setProperty("webdriver.chrome.driver","C:\\Users\\"+System.getProperty("user.name")+"\\chromedriver.exe");

    ChromeOptions options = new ChromeOptions();
    options.setBinary("C:\\Users\\"+System.getProperty("user.name")+"\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe");
    options.addArguments("--user-data-dir=C:\\Users\\"+System.getProperty("user.name")+"\\AppData\\Local\\Google\\Chrome\\User Data\\");
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability(ChromeOptions.CAPABILITY, options);
    WebDriver driver = new ChromeDriver(capabilities);
    driver.get("https://www.google.com");

它给出的例外

线程“main”中的异常org.openqa.selenium.WebDriverException:未知错误:Chrome无法启动:崩溃(驱动程序信息:chromedriver = 2.30.477700(0057494ad8732195794a7b32078424f92a5fce41),platform = Windows NT 10.0.14393 x86_64)(警告:服务器没有提供任何堆栈跟踪信息)命令持续时间或超时:61.65秒

我使用的是最新的ChromeDriver 2.30和Selenium 3.4.0版本

java google-chrome selenium selenium-webdriver selenium-chromedriver
3个回答
2
投票

找到了我自己的问题的答案。当我从配置文件路径复制Default文件夹并将其放在其他位置并且没有将/ Default添加到路径时,因为Chrome添加了它。

    ChromeOptions options = new ChromeOptions();
    options.addArguments("user-data-dir=C:/Users/"+System.getProperty("user.name")+"/Desktop/");
    options.addArguments("--start-maximized");
    WebDriver driver = new ChromeDriver(options);
    driver.get("https://www.google.com");

1
投票

试试这个:

DesiredCapabilities capabilities = DesiredCapabilities.chrome();

System.setProperty("webdriver.chrome.driver", "CHROME_DRIVER_PATH");        
capabilities.setCapability("chrome.switches", Arrays.asList("--no-default-browser-check"));
HashMap<String, String> chromePreferences = new HashMap<String, String>();
chromePreferences.put("profile.password_manager_enabled", "false");
capabilities.setCapability("chrome.prefs", chromePreferences);            

ChromeOptions options = new ChromeOptions();
options.setBinary("CHROME_BINARY_PATH");
options.addArguments("--test-type");
options.addArguments("--allow-running-insecure-content");

capabilities.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver driver = ChromeDriver(capabilities);

1
投票

如果您不想移动配置文件,可以使用下面的内容(将%Profile%更改为您要使用的配置文件):

ChromeOptions options = new ChromeOptions();
options.addArguments("--user-data-dir=C:\\Users\\"+System.getProperty("user.name")+"\\AppData\\Local\\Google\\Chrome\\User Data");
options.addArguments("--profile-directory=%Profile%")
options.addArguments("--start-maximized");
WebDriver driver = new ChromeDriver(options);
driver.get("https://www.google.com");
© www.soinside.com 2019 - 2024. All rights reserved.