2017-03-08 53 views
1

將geckodriver放置在資源中並將其映射到正在工作的機器上,但不在任何其他機器上。我需要它將其導出到其他機器,以便我創建一個需要在任何其他機器上運行的jar,但是在其他機器上運行該jar時拋出「驅動程序可執行文件的路徑必須由webdriver.gecko.driver系統屬性「錯誤。在intellij中爲壁虎驅動程序設置相對路徑拋出錯誤

public static WebDriver createDriver() 
{ 
     WebDriver driver= new FirefoxDriver(); 
     System.setProperty("webdriver.gecko.driver", "./src/main/resources/geckodriver"); 
     driver = new FirefoxDriver(FirefoxDriverProfile()); 
     driver.manage().window().maximize(); 
     DesiredCapabilities capabilities = DesiredCapabilities.firefox(); 
     capabilities.setCapability("marionette", true); 
     return driver; 

[Please take a look at the image] 
https://i.stack.imgur.com/khGBu.png 
+0

可能的複製(http://stackoverflow.com/questions/38676719/selenium-java-the-path-to-the-driver-executable-must-the-by-the-webdr) – Andersson

回答

0

您可以設置它,如: -

System.setProperty("webdriver.gecko.driver", new File("./src/main/resources/geckodriver").getCanonicalPath()); 
+0

這個工作原理是從IDE即intellij運行,但不是從可執行的jar .. –

+0

最新錯誤ru越來越多? – Paras

1

看來,你缺少的文件擴展名。 我下面的作品使用相對文件路徑:

System.setProperty("webdriver.gecko.driver", ".\\WebDrivers\\geckodriver.exe"); 

編輯:您是否嘗試過掉這兩行的順序? 除非我錯了,系統屬性應該在創建WebDriver之前設置。

WebDriver driver= new FirefoxDriver(); 
System.setProperty("webdriver.gecko.driver", "./src/main/resources/geckodriver"); 

應該

System.setProperty("webdriver.gecko.driver", "./src/main/resources/geckodriver"); 
WebDriver driver= new FirefoxDriver(); 
[使用Java硒 - 給司機可執行文件必須由webdriver.gecko.driver系統屬性設置的路徑]的
+0

忘了說我在一臺linux機器上工作.. –

+0

編輯答案。請嘗試。 – Inphinitii

+0

這工作時從IDE即intellij運行,但不是從一個可執行的jar ..火狐啓動,但不會加載該網址。 –

相關問題