Java-Selenium WebDriver无法创建镶边进程

时间:2018-08-14 23:48:22

标签: google-chrome selenium selenium-chromedriver createprocess

因此,我一直在尝试制作一个可以与网页交互以输入数据的程序。理想情况下,我想使用Chrome,因此尝试设置Selenium WebDriver和ChromeDriver。

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

public class Chrome {

public static void main(String[] args) {

    //Set chromedriver path
    System.setProperty("webdriver.chrome.driver","C:/Users/Username/Desktop/Comp Sci work/chromedriver.exe");

    WebDriver driver = new ChromeDriver();

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

    // Maximize browser
    driver.manage().window().maximize();

}
}

我似乎已经正确设置了外部JAR,因为我可以毫无问题地导入它们。问题是由于某种原因无法创建Chrome进程。我以为可能是因为已经打开了Chrome进程,但没有。终止进程时,我仍然遇到相同的错误。

然后我尝试将重置路径设置为Chrome,因为默认路径可能与我的不同,但仍然没有运气。

public class Chrome {

public static void main(String[] args) {

    //Set chromedriver path
    System.setProperty("webdriver.chrome.driver","C:/Users/Username/Desktop/Comp Sci work/chromedriver.exe");

    ChromeOptions options = new ChromeOptions();
    options.setBinary("C:\\Users\\Username\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe");

    WebDriver driver = new ChromeDriver();

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

    // Maximize browser
    driver.manage().window().maximize();

}
}

错误消息是:

Starting ChromeDriver 2.41.578737 (49da6702b16031c40d63e5618de03a32ff6c197e) 
on port 43997
Only local connections are allowed.
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown 
error: Failed to create a Chrome process.
(Driver info: chromedriver=2.41.578737 
(49da6702b16031c40d63e5618de03a32ff6c197e),platform=Windows NT 10.0.17134 
x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 199 milliseconds
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08- 
02T20:05:20.749Z'

由于chromedriver似乎可以很好地启动,问题仅在于创建chrome进程,但我似乎找不到原因。任何帮助将不胜感激(有关我的帖子格式的提示,因为这是我的第一篇帖子)。谢谢

2 个答案:

答案 0 :(得分:1)

(对于 Mac)从

更改二进制路径
/Applications/Google\ Chrome.app

..到:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome

答案 1 :(得分:0)

我今天遇到了这个问题,并最终解决了它。这是因为chrome以Administrator的身份运行,所以java无法启动它。

Google Chrome属性->兼容性->不以管理员身份运行