当前位置: 首页 > 知识库问答 >
问题:

我收到的编译错误为“类型不匹配:无法从FirefoxDriver转换为WebDriver”

安泰平
2023-03-14

我在运行程序时遇到这个错误

线程“main”java.lang.Error:未解决的编译问题:类型不匹配:无法从FirefoxDriver转换为WebDriver

at selenium.FirstSelenium.main(FirstSelenium.java:11)

1.我已经提取了所有selenium jar文件(使用版本-3.141.59)

仍然得到错误。

导入org.openqa.selenium.webdriver;导入org.openqa.selenium.firefox.firefoxdriver;

公共类FirstSelenium{

public static void main(String[] args) {

    System.setProperty("webdriver.gecko.driver", "D:\\Drivers\\geckodriver.exe");
    WebDriver driver= new FirefoxDriver();
    driver.get("https://yahoo.com");

}

共有1个答案

方韬
2023-03-14

很可能您的项目类路径有问题,或者遇到了一种“罐子地狱”的形式

最简单的解决方案就是更改这一行:

WebDriver driver= new FirefoxDriver();

到这一个

FirefoxDriver driver = new FirefoxDriver();
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <groupId>com.example</groupId>
    <artifactId>selenium-java</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.141.59</version>
        </dependency>

    </dependencies>

</project>

导航到pom.xml所在的文件夹,并执行dependency:copy-dependencies命令

mvn dependency:copy-dependencies

就是这样,正确的.jar文件集将下载到target/dependency文件夹中

请参阅Selenium Webdriver Tutorial with Java:How to set up a TestNG maven based project from scratch文章,了解如何正确设置项目,允许使用maven构建和执行测试的全面说明。

 类似资料:
  • 我在运行程序时得到这个错误 线程“main”java.lang.error:未解决的编译问题:类型不匹配:无法从FirefoxDriver转换为WebDriver 2.我已经下载了geckodriver,并且给出的路径是正确的(GeckoDriver-V0.24.0-Win64)3.还导入了导入org.openqa.selenium.WebDriver;并导入org.openqa.selenium

  • 问题内容: 在日食中显示错误。这是总和是122字节范围内的范围。所以为什么我在这里出现此错误。 提前致谢… 问题答案: 当您对字节执行数学运算时,Java会对字节进行扩展(自动类型提升)到字节(隐式转换)以对这种情况进行整数处理。所以当你表演 由于t1 + t2的结果比字节宽,因此您需要将其下转换为字节。 消除编译错误。 有关更多信息,请阅读 JLS 5.1.2

  • 问题内容: 我有以下几行代码 我认为第3行和第4行执行相同的任务,然后为什么编译器在第4行显示错误“类型不匹配:无法从long转换为int” 请帮忙。 问题答案: 这是因为复合赋值运算符会进行隐式转换。 从JLS复合分配运算符: 形式的复合赋值表达式等效于,其中是的类型,不同之处在于该表达式仅被评估一次。 对于二进制运算符,则必须显式进行强制转换。进行第四项作业: 它会工作。这就是您的复合赋值表达

  • 问题内容: 我正在使用ZXING库在JAVA中创建QR码生成器程序。该程序是 编译该程序时,出现类型不匹配错误, 在这条线 请帮忙!!! 问题答案: 我自己从未使用过该库,但是阅读错误消息时,我会假设您必须要以字节为单位存储字节的问题。问题将是一个字节由多个位组成,因此您不能仅通过一位表示一个字节。 将编码数据存储到ByteMatrix中,然后阅读以下内容: 使用zxing进行QR码编码和解码 完

  • 但它抱怨说: 如何同时解决这两个错误?

  • 问题内容: 如果声明类型为byte或short的变量并尝试对其进行算术运算,则会收到错误“类型不匹配:无法将int转换为short”(或相应的“类型不匹配:不能将int转换为byte”)。 在此示例中,编译错误在第三行。 问题答案: 尽管算术运算符被定义为可以对任何数字类型进行运算,但是根据Java语言规范(5.6.2 Binary Numeric Promotion),字节和short类型的操作