我用最新的selenium-java依赖项和Browser暴徒代理更新了POM.xml。
Java代码:
WebDriver driver = new ChromeDriver(); driver.get("http://www.google.com"); driver.quit(); POM.xml看起来
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>2.53.1</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.1</version>
</dependency>
<dependency>
<groupId>net.lightbody.bmp</groupId>
<artifactId>browsermob-proxy</artifactId>
<version>2.0-beta-8</version>
</dependency>在运行自动化脚本时,会得到以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/interactions/HasInputDevices
在移除Browser暴徒代理依赖之后,该脚本运行良好。(但我需要Browsermob来捕获网络数据)。
看起来浏览器代理有一个依赖selenium-api-2.*,我认为这是过时的,并导致了这个问题。
任何帮助都将不胜感激。
发布于 2016-09-09 02:03:46
看起来您使用的是一个非常旧的BrowserMob代理版本,它可能与Selenium.You的最新版本不兼容,可以在其github页面上找到最新版本的BMP。
例如,BMP的当前版本为2.1.2,因此您需要将其包含在pom文件中:
<dependency>
<groupId>net.lightbody.bmp</groupId>
<!-- note the new artifactId -->
<artifactId>browsermob-core</artifactId>
<version>2.1.2</version>
</dependency>https://stackoverflow.com/questions/38485316
复制相似问题