当前位置: 首页 > 知识库问答 >
问题:

异常:驱动程序可执行文件的路径必须由webdriver.chrome.driver系统属性设置;使用远程Web驱动程序

葛浩阔
2023-03-14

当我修改代码以使用RemoteWebDriver和ChromeDriver运行时,我得到了:异常:驱动程序可执行文件的路径必须由webdriver设置。铬。驱动系统属性;

代码:

File file = new File("C:/WebDrivers/chromedriver.exe");
System.setProperty("webdriver.chrome.driver",file.getAbsolutePath());
HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
chromePrefs.put("profile.default_content_settings.popups", 0);
chromePrefs.put("download.default_directory", Path_FileDownload);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", chromePrefs);
DesiredCapabilities cap = DesiredCapabilities.chrome();
cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
cap.setCapability(ChromeOptions.CAPABILITY, options);
driver = new RemoteWebDriver(new URL("http://192.168.224.160:4444/wd/hub"), cap);
//driver = new ChromeDriver(cap);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

该文件存在于我运行它的PC上。当我切换到ChromeDriver而不是Remote WebDriver时,它工作得很好。

共有3个答案

傅阳
2023-03-14
    ChromeOptions options = new ChromeOptions();
    options.setBinary("Chrome_Binary/chrome.exe");
    options.addArguments("--start-fullscreen");
    System.setProperty("webdriver.chrome.driver", "Drivers/Chrome/chromedriver.exe");
    DesiredCapabilities cap = DesiredCapabilities.chrome();
    cap.setCapability(ChromeOptions.CAPABILITY, options);
孟昊空
2023-03-14

路径的开头有两个斜杠:
“C://WebDrivers”“/chromedriver.exe”
应该是
“C:/WebDrivers”“/chromedriver.exe”

Java文件路径使用“/”分隔目录和文件,与基于UNIX的系统相同。

薛宏壮
2023-03-14

那些线条

File file = new File("C:/WebDrivers/chromedriver.exe");
System.setProperty("webdriver.chrome.driver",file.getAbsolutePath());

仅在使用ChromeDriver时工作。我将这种模式称为local模式,即运行测试用例的JVM也脱离浏览器。

当您使用RemoteWebDriver时,您是在remote模式下工作的,因为派生测试用例的JVM会与另一个JVM(selenium节点)对话以派生浏览器。

当您使用RemoteWebDriver时,您正试图通过集线器连接到另一个作为节点运行的JVM。

对于这个用例,您需要在运行节点的机器上执行以下操作之一:

  • C:\WebDrivers添加到PATH变量中。打开一个新的命令提示符并运行echo%PATH%,确保正确添加了它。您应该在命令输出中看到C:\WebDrivers。(或)
  • 通过添加webdriver启动节点。铬。驱动程序作为JVM参数。例如:java-Dwebdriver。铬。driver=C:\WebDrivers\chromedriver。exe-jar selenium-server-standalone-2.53.1。jar-角色节点
 类似资料: