Dan*_*han 8 java eclipse selenium google-chrome jar
我正在编写一个网络自动化程序,到目前为止,它使用Selenium的FirefoxDriver工作正常.但是,如果未安装Firefox,我想使用Chrome.我下载了ChromeDriver,将它放在Eclipse项目的一个文件夹中,然后运行它.我添加后System.setProperty("webdriver.chrome.driver", "Drivers/chromedriver.exe");它工作正常.但是,当我尝试导出它时(使用Eclipse的标准导出).它崩溃了,我相信因为它找不到ChromeDriver(我认为这是因为用FirefoxDriver导出它可以正常工作).
我已经尝试将.JAR更改为.ZIP以便查看内部,我看到该driver文件夹被剥离,只是放入chromedriver.exe顶级JAR.我尝试将属性更改为System.setProperty("webdriver.chrome.driver", "chromedriver.exe");但仍然崩溃.
有没有人知道为什么导出的JAR无法找到chromeDriver,尽管我已经证实它在JAR中?
谢谢,丹尼尔
小智 5
您必须先提取它,然后再运行它。在src / resources / drivers / chromedriver.exe下复制您的驱动程序
现在,无论何时运行此代码,它都将在您放置Runnable jar并复制驱动程序的位置创建一个新的文件夹“ Driver”。
ClassLoader classLoader = getClass().getClassLoader();
URL resource = classLoader.getResource("resources/drivers/chromedriver.exe");
File f = new File("Driver");
if (!f.exists()) {
f.mkdirs();
}
File chromeDriver = new File("Driver" + File.separator + "chromedriver.exe");
if (!chromeDriver.exists()) {
chromeDriver.createNewFile();
org.apache.commons.io.FileUtils.copyURLToFile(resource, chromeDriver);
}
System.setProperty("webdriver.chrome.driver", chromeDriver.getAbsolutePath());
driver = new ChromeDriver();
Run Code Online (Sandbox Code Playgroud)
它在 Jar 中但无法执行(与尝试从 zip 文件运行 .exe 相同),您必须在运行之前将其解压
| 归档时间: |
|
| 查看次数: |
18840 次 |
| 最近记录: |