【问题标题】:Selenium 'WebDriver cannot be resolved to a type, FirefoxDriver cannot be resolved to a type' (not a duplicate) [duplicate]Selenium 'WebDriver 无法解析为类型,FirefoxDriver 无法解析为类型'(不重复)[重复]
【发布时间】:2018-10-25 01:06:21
【问题描述】:

我目前第一次使用这个论坛的体验很糟糕,尽管我解释说建议的修复方法不能解决我的问题,但我的问题被重复删除为重复项。第一个提问者错误的原因是不正确的罐子,根据该线程中提出的列表,我似乎有正确的罐子。

这是我的代码:

package sanityTests;

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

public class Login {

public static void main(String[] args) {
    System.setProperty("webdriver.gecko.driver", "/Users/lawrencedonohoe/Downloads/geckodriver");
    WebDriver driver = new FirefoxDriver();



    }

}

我收到以下错误:

未解决的编译问题:WebDriver 无法解析为类型 FirefoxDriver 无法解析为类型

我从其他论坛文章中了解到,这是因为我的构建路径中没有正确的 jar,或者我不应该有一个。但是,我似乎拥有上述问题的回答者建议我需要的所有 jar 文件。 这是我添加的罐子的完整列表:

client-combined-3.14.0-sources
客户端组合-3.14.0
byte-buddy-1.8.15
commons-codec-1.10
commons-exec-1.3
commons-logging-1.2
guava-25.0-jre
httpclient-4.5.5
httpcore-4.4.9
okhttp-3.10.0
okio-1.14.1

有人可以帮帮我吗?

【问题讨论】:

  • 您的问题中没有任何内容表明这是除了副本中描述的问题之外的问题。现在你刚刚告诉你有正确的罐子,但鉴于错误,情况并非如此(或者你没有清理/重建你的项目)。
  • 您的“jar 的完整列表”缺少 selenium-server-standalone-3.X.0.jar,如链接的重复问题中所述。
  • 也许我不明白解决方案。在我看来,回答者说 selenium-java-3.11.0 JAR 和 selenium-server-standalone-3.11.0 JAR 之间存在冲突,他提出的解决方案之一是删除除 selenium 之外的所有 JAR -java-3.11.0 JAR。因为我一开始只有这些 JAR,而不是 selenium-server-standalone-3.11.0 JAR,所以在我看来,他的解决方案已经在我的程序中实现了。我是一个完整的初学者,所以我可能误解了这一点。有人可以解释一下我误解了什么吗?
  • 添加 selenium-server-standalone-3.X.0.jar 并不能解决问题

标签: java selenium selenium-webdriver


【解决方案1】:

请尝试以下代码,它是手动定义驱动程序路径,如果您使用的是linux环境,它可能与读取驱动程序路径的权限有关:

System.setProperty("webdriver.gecko.driver","pathToYourDriver/geckodriver.exe");
WebDriver driver = new FirefoxDriver();

【讨论】:

  • 你为什么要使用 marionette 绕过 GeckoDriverwebdriver.firefox.marionette
  • @DebanjanB 我建议解决这个问题。 Marionette 是 Firefox 附带/包含的新驱动程序。这个驱动有它自己的协议,它与 Selenium/WebDriver 协议不直接兼容。 Gecko 驱动程序(以前称为 wires)是一个实现 Selenium/WebDriver 协议的应用程序服务器。它翻译 Selenium 命令并将它们转发给 Marionette 驱动程序。
  • 我不是在问背景故事,而是一个直截了当的问题...您为什么要像在 webdriver.firefox.marionette 中那样使用木偶绕过 GeckoDriver...这是您答案中的第一个选项。不过感谢您的解释。
  • 好的,我不是很清楚,我建议验证问题并解决。如果木偶在工作,则说明壁虎驱动器有问题。
  • 没关系,这就是我们学习和贡献的方式。一切顺利。
猜你喜欢
  • 2015-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-27
  • 2012-01-29
  • 1970-01-01
  • 2016-05-27
  • 2016-11-10
相关资源
最近更新 更多