我使用Firefox 47.0和Selenium 2.53。最近他們一直是Selenium和Firefox之間的一個錯誤,導致代碼無法正常工作。其中一個解決方案是使用Marionnette驅動程序。如何在Selenium上使用壁虎可執行文件
我跟着這個site的指令,利用這個新的驅動程序與RemotWebDriver,但我一直有錯誤:
WARN - 異常:異常在線程「主要」 org.openqa.selenium.WebDriverException:驅動程序可執行文件的路徑必須由webdriver.gecko.driver系統屬性設置;有關更多信息,請參閱https://github.com/jgraham/wires。最新的版本可以從....
到目前爲止,我已經試過代碼下載非常簡單:
public class Test {
static WebDriver driver;
static Wait<WebDriver> wait;
public static void main(String[] args) throws MalformedURLException {
System.setProperty("webdriver.gecko.driver", "C:\\Selenium\\geckodriver.exe");
DesiredCapabilities cap = DesiredCapabilities.firefox();
cap.setCapability("marionette", true);
cap.setBrowserName("firefox");
driver = new RemoteWebDriver(new URL("http://192.168.117.135:5555/wd/hub"), cap);//true to enable the JS
wait = new WebDriverWait(driver, 3000);
final String url = "https://www.google.com/";
JavascriptExecutor js = (JavascriptExecutor) driver;
try {
driver.navigate().to(url);
} finally {
driver.close();
}
}
}
我敢肯定的是,路徑geckodriver.exe是正確的我看不出我犯了什麼錯誤。
編輯1: 我嘗試下面的代碼:
public class Test {
static WebDriver driver;
static Wait<WebDriver> wait;
public static void main(String[] args) throws MalformedURLException {
System.setProperty("webdriver.gecko.driver", "C:\\Selenium\\geckodriver.exe");
driver = new MarionetteDriver();
wait = new WebDriverWait(driver, 3000);
final String url = "https://www.google.com/";
JavascriptExecutor js = (JavascriptExecutor) driver;
try {
driver.navigate().to(url);
} finally {
driver.close();
}
}
}
,它的工作似乎從RemoteWebDriver和壁虎來驅動的問題,您有任何的關於它的消息嗎?
謝謝...我得到'產生的原因:java.net.ConnectException:連接被拒絕:connect'您的4號線在這裏...任何想法可能是關於? –
根據我的理解,當連接被遠程拒絕時,ConnectException將會出現。你有沒有給第一行中的geckodriver提供正確的路徑? –
哈!謝謝...最終讓它工作。感謝您花費寶貴的生命在這一天......我不知道「壁虎」,「木偶」和「能力」這一切都是關於什麼的?爲什麼這麼重要,你必須跳過這個循環才能使用Selenium 3.0.0。 –