【问题标题】:Trying to launch firefox browser using selenium jar files in eclipse getting e尝试在 Eclipse 中使用 selenium jar 文件启动 Firefox 浏览器
【发布时间】:2023-04-06 05:52:01
【问题描述】:

我正在尝试使用 selenium 从 eclipse 启动 firefox 浏览器,因为我正在学习 selenium。

我的导师写了下面的代码,但是当我尝试相同的代码时,我得到了这个异常-

线程“主”java.lang.IllegalStateException 中的异常:

驱动程序可执行文件的路径必须由 webdriver.gecko.driver 系统属性设置;有关详细信息,请参阅

Link1。最新版本可以从

下载

Link2

代码:

package appselenium1;

import org.openqa.selenium.firefox.FirefoxDriver;

public class A {


public static void main(String[] args) {


    FirefoxDriver driver = new FirefoxDriver();
    driver.get("http://www.gmail.com");

    }

    }

【问题讨论】:

    标签: java selenium core


    【解决方案1】:

    你正面临这个异常,因为你没有使用在 selenium 中启动和发送命令所需的 gecko 驱动程序。

    您可以从here下载最新版壁虎版

    试试这个:

    package appselenium1;
    
    import org.openqa.selenium.firefox.FirefoxDriver;
    
    public class A {
    
    static WebDriver driver ; 
    
    public static void main(String[] args) {
    System.setProperty("webdriver.gecko.driver", "C:\\Downloads\\geckodriver-v0.20.1-win64\\geckodriver.exe");
    driver = new FirefoxDriver();
    driver.get("http://www.gmail.com");
    }
    }  
    

    【讨论】:

    • 我尝试了上面的代码,但我在线程“main” java.lang.NoClassDefFoundError: org/apache/commons/exec/Executor 中得到了这个异常异常
    • 你下载了最新版的FF需要的gecko驱动吗?
    • 我下载了 gecko 驱动程序并运行了它。但是我得到了以下异常-线程“main”java.lang.NoClassDefFoundError 中的异常:
    • 您能告诉我如何将屏幕截图上传到此评论中。我已经截图了。
    • 你能检查一下这个stackoverflow.com/questions/17973970/…,并告诉我们你是如何执行你的代码的,以及我建议的修改。
    【解决方案2】:

    当您使用 Selenium v​​er3.xGeckoDriver ver0.21.0Firefox ver61.0.1 时,您需要下载最新的 GeckoDriver 来自mozilla/geckodriver 并将其存储在系统中的任何位置。在您的代码中,您需要通过System.setProperty() 行提供GeckoDriver绝对路径,如下所示:

    package demo;
    
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.firefox.FirefoxDriver;
    
    public class A_Firefox 
    {
        public static void main(String[] args) 
        {
            System.setProperty("webdriver.gecko.driver", "C:/path/to/geckodriver.exe");
            WebDriver driver =  new FirefoxDriver();
            driver.get("http://www.gmail.com");
            System.out.println("Page Title is : "+driver.getTitle());
            driver.quit();
        }
    }
    

    注意:将包名(本例中为demo)替换为您自己的包名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-11
      • 2018-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多