我用最新的 selenium-java 依赖和 Browsermob 代理更新了 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
删除 Browsermob 代理依赖后,脚本运行良好。(但我需要 Browsermob 代理来捕获网络数据)。
看起来 Browsermob 代理有一个依赖selenium-api-2.*
,我认为它已经过时并导致这个问题。
任何帮助将不胜感激。