当我试图使用chromeDrive
运行测试时,我会得到这个错误:
我将chromedriver
部署到ext文件夹,并为我的浏览器提供了正确的版本。是什么导致了这个问题?它似乎来自@BeforeClass
,如下所示:
@BeforeClass
public static void setUp() throws IOException {
System.setProperty("webdriver.chrome.driver", "ext/chromedriver");
service = createDefaultService();
driver = new ChromeDriver(service);
Path testResults = Paths.get("build", "test-results");
if (!Files.exists(testResults)) {
Files.createDirectory(testResults);
}
}
NoClassDefFoundError
当JVM无法在运行时找到编译时可用的特定类时发生。例如,如果我们解析了一个类的方法调用或访问了一个类的任何静态成员,而该类在运行时不可用,那么JVM将抛出NoClassDefFoundError
。
您看到的错误是:
java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver at java.base/java.lang.Class.getDeclaredMethods0(Native Method)
这清楚地表明,Selenium正试图在运行时从不再可用的org/openqa/Selenium/WebDriver
解析特定的类。
在系统中。setProperty()
line您需要通过ChromeDriver的绝对路径,如下所示:
System.setProperty("webdriver.chrome.driver", "/complete/path/to/chromedriver");
你可以在以下网站上找到一些相关的详细讨论:
Appium 支持对基于 Chrome 内核的 H5 应用(混合应用)或者网页(Chrome 中的网页或者内建的浏览器中的网页)进行自动化。Appium 管理维护着一个 Chromedriver 实例,当需要的时候,使用代理模式,将命令传递给这个实例。这和最新版本的 Chromedriver是绑定的。我们可以通过 npm 包来安装appium-chromedriver。(Github: appiu
问题内容: 我在代理服务器后面。使用Selenium 2.39,Python 2.7.6和ChromeDriver 2.9,每当我在Chrome实例上调用时,都会收到HTTP 407错误。使用FirefoxDriver时,不会发生此类错误。 可以将问题简化为以下脚本,我将其另存为(如上述堆栈跟踪所示): 此脚本成功打开了Chrome并导航到Google。在随后导致上述崩溃,留下一个死ChromeD
OpenQa.Selenium.WebDriverException:无法启动http://localhost:58266/bei OpenQa.Selenium.DriverService.start() bei OpenQa.Selenium.Remote.DriverServiceCommandExecutor.Execute(命令命令执行)bei OpenQa.Selenium.Remot
我用的是Mac笔记本电脑,我是从youtube上得到的Mac教程,但它对其他学生也适用 原谅我,我对硒还不熟悉 导入org.openqa.selenium.webdriver;导入org.openqa.selenium.chrome.chromedriver;
问题内容: 当我尝试从该网站访问数据时,我尝试使用Selenium自动化从网站中获取数据 这是我的鳕鱼 如何获取我的输出并删除此异常? 提前致谢 问题答案: 为了检查您的代码,我尝试了以下操作: } 它可以与FireFox(29.0)和Chrome(34.0)驱动程序正常工作。我使用了以下jar-s: selenium-server-standalone-2.41.0.jar selenium-j