我的问题是,我使用Runnable Jar File导出了我的项目(eclipse Java),在我的计算机上它没问题,但在其他计算机上,Runnable不起作用。
这个想法是把chromedriver.exe放在eclipse文件夹上(比如getResource res> images),之后每个人都会得到整个程序。
知道怎么做吗?这是我的代码,chromedrivers在我的C:\:
上是静态的public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
System.setProperty("webdriver.chrome.driver","C:\\SeleniumAssets\\chromedriver_win32\\chromedriver.exe");
DesiredCapabilities capabilities=DesiredCapabilities.chrome();
capabilities.setCapability("marionette", true);
driver = new ChromeDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get(Constant.URL);
//signIn.ExecuteGerenteOperacional(driver,Constant.Username_GO,Constant.Password_GO);
//signIn.ExecuteGerenteLoja(driver,Constant.Username_Gerente_Loja,Constant.Password_Gerente_Loja);
//signIn.ExecuteVendedor(driver,Constant.Username_Vendedor,Constant.Password_Vendedor);
ActionsDO();
}
谢谢:)
编辑:
ClassLoader loader = ClassLoader.getSystemClassLoader();
URL path = loader.getResource("\\res\\drivers\\chromedriver.exe");
System.setProperty("webdriver.chrome.driver", path.getPath());
也行不通。
答案 0 :(得分:0)
如果您可以将驱动程序置于“标准”状态。目录(如用户主目录>驱动程序)可以选择使用独立于操作系统的系统属性:
1)将驱动程序放在ie \ driver \ chromedriver.exe
中2)在您的代码中使用:
String userHome = System.getProperty("user.home");
String pathToDriver = userHome + File.separator + "driver" + File.separator + "chromedriver.exe";
System.setProperty("webdriver.chrome.driver", pathToDriver);
HTH
答案 1 :(得分:0)
您应该使用setBinary
ChromeOptions
ChromeOptions options = new ChromeOptions();
options.setBinary(new File("/path/to/chrome"));
ChromeDriver driver = new ChromeDriver(options);
与添加的chromedriver的相对路径,代码来自here:
add_action('template_redirect', 'qp_tester');
function qp_tester() {
if(is_page()){
echo do_shortcode('[formidable id=36]');
}
}