Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 制作驱动程序&x27;通用';_Java_Selenium_Selenium Webdriver - Fatal编程技术网

Java 制作驱动程序&x27;通用';

Java 制作驱动程序&x27;通用';,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,这就是我目前初始化chromedriver的方式 System.setProperty(“webdriver.chrome.driver”,“C://chromedriver.exe”) 然而,刚才我把我所有的代码都放在了一个回购协议中,当然,这取决于每个人的驱动程序都在同一个地方,等等 有没有什么方法可以让这项工作在计算机上“通用”,而不需要其他用户获得chromedriver和添加变量等 (如果回答了这个问题,我很抱歉,但我不知道如何用谷歌搜索它)如果你的整个项目都在maven中,那么就会有

这就是我目前初始化chromedriver的方式

System.setProperty(“webdriver.chrome.driver”,“C://chromedriver.exe”)

然而,刚才我把我所有的代码都放在了一个回购协议中,当然,这取决于每个人的驱动程序都在同一个地方,等等

有没有什么方法可以让这项工作在计算机上“通用”,而不需要其他用户获得chromedriver和添加变量等


(如果回答了这个问题,我很抱歉,但我不知道如何用谷歌搜索它)

如果你的整个项目都在maven中,那么就会有一个类似“资源”的文件夹,如果不创建一个名为“资源”的文件夹,并将chrome驱动程序(“chromedriver.exe”,你将在项目中使用)放在该文件夹中

然后使用下面的代码,任何用户都可以使用,无需每次下载chrome驱动程序

chromepath = System.getProperty("user.dir")
                + "\\src\\main\\resources\\chromedriver.exe";
System.setProperty("webdriver.chrome.driver", chromepath);
“\src\main\resources\chromedriver.exe”应该是项目级驱动程序的路径

如果有任何问题,请告诉我

谢谢


Krishna

为了解决这个确切的问题,驱动程序可执行文件的位置故意从系统属性中获取。运行应用程序的每台计算机的可执行文件可能位于不同的位置,这就是为什么应该使用
-D
vm参数传递位置(该参数与
System.setProperty
相同,只是独立于源代码)。试着将其保存在
System->Path
环境变量中。是的,成功了!非常感谢您如期提供的帮助:)