我正在尝试运行托管在tomcat上的Java Web应用程序,该应用程序将运行Selenium/chrome Web驱动程序。
但是,当您尝试启动chromedriver时,您会收到500内部服务器错误
java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;(V org.openqa.selenium.remote.service.DriverService.checkExecutable(DriverService.java:137(
我已经尝试了多种变体来加载驱动程序以及更改为火狐驱动程序和远程Web驱动程序,但我仍然遇到同样的问题。
我已经将chromeDriver和Chrome.exe放在网页/web-inf/lib中。 还有System.setProperty("webdriver.chrome.driver","chromedriver.exe"(;
但没有任何改变。
这可能吗?
对我来说,找到这两个工件的完全工作组合是一个可怕的挑战
- 硒铬驱动程序
- Google 番石榴(包括com.google.common.base.*(
我终于设法得到了一个工作:
- 硒 3.12.0
- 番石榴 21.0
网络驱动程序.xml
<root>
<windows>
<driver id="googlechrome">
<version id="2.35">
<bitrate thirtytwobit="true" sixtyfourbit="true">
<filelocation>https://chromedriver.storage.googleapis.com/2.35/chromedriver_win32.zip</filelocation>
<hash>c787c0b36fbf8ea3325df386c0c3c41d3f681b4b</hash>
<hashtype>sha1</hashtype>
</bitrate>
</version>
</driver>
</windows>
<linux>
<driver id="googlechrome">
<version id="2.35">
<bitrate sixtyfourbit="true">
<filelocation>https://chromedriver.storage.googleapis.com/2.35/chromedriver_linux64.zip</filelocation>
<hash>ccc980e3b0b74f0d067f1d3e89d9cc81b8a6b2aa</hash>
<hashtype>sha1</hashtype>
</bitrate>
</version>
</driver>
</linux>
<osx>
<driver id="googlechrome">
<version id="2.36">
<bitrate sixtyfourbit="true">
<filelocation>https://chromedriver.storage.googleapis.com/2.36/chromedriver_mac64.zip</filelocation>
<hash>28b58747bbb4b4591ff939a692f8755a11428550</hash>
<hashtype>sha1</hashtype>
</bitrate>
</version>
</driver>
</osx>
</root>