2017-10-31 14 views
1

私は以下のコードをEclipseで試しました。このコードを実行すると、firefoxが開きますが、driver.get( "https://www.easybooking.lk/login");働いていない。このエラーを解決するのに手伝ってくださいセレンはhttpを取得しません

package login; 

import java.util.concurrent.TimeUnit; 

import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 

public class easylogin { 

    //public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     public static void main(String[] args) throws InterruptedException { 
      //Object webdriver; 
      System.setProperty("webdriver.gecko.driver", "D:\\jjpppp\\geckodriver-v0.17.0-win64/geckodriver.exe"); 

      WebDriver driver = new FirefoxDriver(); 
      driver.manage().window().maximize(); 
      driver.manage().timeouts().implicitlyWait(25, TimeUnit.SECONDS); 
      driver.get("https://www.easybooking.lk/login"); 

私は以下のエラーが発生しています。これをどうすれば解決できますか?私はセレンFirefoxのドライバ

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:185) 
    at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:120) 
    at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) 
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:164) 
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82) 
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:641) 
    at org.openqa.selenium.remote.RemoteWebDriver$RemoteWebDriverOptions$RemoteTimeouts.implicitlyWait(RemoteWebDriver.java:872) 
    at login.easylogin.main(easylogin.java:20) 
+1

暗黙のうちに動作しないようです。このコードをコメントして一度だけチェックしてください。 driver.manage()。timeouts()。implicitlyWait(25、TimeUnit.SECONDS); –

+0

こんにちは、その仕事のplsは答えとして投稿 – sanjan

+0

投稿 https://stackoverflow.com/questions/47029756/selenium-notget-http/47030073#47030073 –

答えて

4

エラーメッセージごとに、暗黙のうちに問題があるようです。それは動作していないようです。このコードをコメントして一度だけチェックしてください。

driver.manage()。timeouts()。暗黙のうちに(25、TimeUnit.SECONDS);

3

では、次の方法であなたのドライバ へのパスを変更しようとしたことがあり、コメントを追加しました:

D:\\jjpppp\\geckodriver-v0.17.0-win64\\geckodriver.exe 

ます。また、確認するために、次の変更を見ているかもしれません

WebDriverWait logWait = new WebDriverWait(driver, 10); 
logWait.until(ExpectedConditions.presenceOfElementLocated(by)); 
driver.findElement(...) 
+0

同じ問題:( – sanjan

1
driver.manage().timeouts().implicitlyWait(25, TimeUnit.SECONDS); 

これを削除して、Webアドレスに移動した後、暗黙の待機を置く

2

試してみてください。

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    public static void main(String[] args) throws InterruptedException { 
     //Object webdriver; 
     System.setProperty("webdriver.gecko.driver", "D:\\jjpppp\\geckodriver-v0.17.0-win64\\geckodriver.exe"); 

     WebDriver driver = new FirefoxDriver(); 
     driver.manage().window().maximize(); 
     driver.get("https://www.easybooking.lk/login"); 
     driver.manage().timeouts().implicitlyWait(25, TimeUnit.SECONDS); 

これは、Webページが次の要素を検索するまで待つのに役立ちます。

2

問題は、ブラウザとgeckodriverが互換性がないためです。

最新のfirefoxバージョン(56.0)とgeckodriver 18で試してみました。うまくいきました。

私はfirefox(56.0)とgeckodriver 17を試してみました。それは私に似た問題をもたらしました。

最新のFirefoxとgeckodriverを使用する方が良い。

関連する問題