selenium 运行Selify WebDriver时出现“FirefoxDriver无法解析为类型”

5tmbdcev  于 2022-11-10  发布在  其他
关注(0)|答案(3)|浏览(139)

我使用的基本代码如下:

Package TestSelenium;
import org.openqa.selenium.WebDriver;
public class MyFirstClass {
    public static void main(String[] args) {
        WebDriver driver=new FirefoxDriver();
        driver.get("http://www.google.com")
    }
}

然而,我得到了一个错误
无法将FirefoxDriver解析为类型
我已经包含了所有必需的JAR,但是我仍然收到这个错误。
我使用的是Selence3.60:

C:\Users\Ankur>javac -version

JAVAC 1.8.0_144
所有必需jar的屏幕截图:

nuypyhwy

nuypyhwy1#

您需要在页面顶部添加以下导入语句

import org.openqa.selenium.firefox.FirefoxDriver;

它仍然会抛出一些异常,因为从Selens3.x开始,你不能直接启动Firefox浏览器。您需要从selenium.hq.org下载浏览器驱动程序,并且在您的代码中需要使用System.setProperties方法或所需的功能类来指定您的浏览器驱动程序可用的位置。

rn0zuynd

rn0zuynd2#

您看到的错误**FirefoxDriver cannot be resolved to a type说明了一切。表示您正在使用的IDE,即Eclipse无法解析关键字FirefoxDriver
正如您从共享的快照中看到的,关键字
FirefoxDriver下划线为红线,表示分辨率不足。原因是我们没有添加所需的importFirefoxDriverorg.openqa.selenium.firefox.FirefoxDriver中定义。所以我们也要进口org.openqa.selenium.firefox.FirefoxDriver
同样,如果只在导入中添加
org.openqa.selenium.firefox.FirefoxDriver,我们仍然会遇到一些移动头部的错误,因为我们在代码块中没有提到geckodriver二进制文件的位置。我们需要将geckodriver.exe从这个location下载到我们的系统中,并提供geckodriver.exeSystem.setProperty()**的绝对路径,具体如下:

package TestSelenium;

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

public class MyFirstClass 
{
    public static void main(String[] args) throws Exception 
    {
        System.setProperty("webdriver.gecko.driver", "C:\\your_location\\geckodriver.exe");
        WebDriver driver = new FirefoxDriver();
        driver.get("http://www.google.com");
    }
}
rmbxnbpk

rmbxnbpk3#

尝试将Selify独立服务器(https://docs.seleniumhq.org/download/)添加到您的项目中(即使您使用的是Maven),作为外部JAR并尝试。对我来说,这个决心奏效了。右键单击Maven项目>属性>Java BuildPath>库选项卡单击添加外部JAR按钮>浏览到保存JAR的文件夹>上载>应用并关闭

相关问题