首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Selenium在Java中不起作用,Chrome和Firefox都是如此

Selenium在Java中不起作用,Chrome和Firefox都是如此
EN

Stack Overflow用户
提问于 2015-12-30 18:19:11
回答 1查看 395关注 0票数 0

我在IntelljiIdea中有一个项目,它是一个使用selenium访问一些URL的简单程序。在python和C#中,我同时使用了Chromium和Firefox,但在Java中却不是这样。

这里是Idea的库

我使用的是selenium-server-standalone.jar,最新的,来自http://selenium-release.storage.googleapis.com/index.html?path=2.48/的,与普通编解码器相同,我使用的是独立的jar文件,对于selenium-chro形驱动程序和selenium-firefox-驱动程序,我使用的是maven。Firefox在IDE中工作,但是一旦运行jar (工件),就会得到以下错误:

代码语言:javascript
复制
Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver
    at com.myprogram.controller.VisitController.visit(VisitController.java:109)
    at com.myprogram.controller.VisitController.visit_websites(VisitController.java:73)
    at com.myprogram.controller.VisitController.run(VisitController.java:45)
    at com.myprogram.controller.Controller.visit(Controller.java:127)
    at com.myprogram.controller.Controller.run(Controller.java:280)
    at com.myprogram.Main.main(Main.java:11)
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.WebDriver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 6 more

只有Firefox在工作,它是从IDE启动的。如果我用java -jar my_program.jar启动程序,Chrome (Chrome)不能在IDE中工作,也不能从命令行开始工作,就像Firefox一样

我正在使用archbang x64,使用屏幕截图中的selenium版本,以及java版本1.7.0_91

如有任何建议,敬请见谅。

UPDATE我已经将selenium文件设置为工件中的依赖项,因此my_program.jar中应该包含selenium。换句话说,如果我像这样运行它,java -cp selenium-server-standalone-2.48.2.jar -jar my_program.jar会给出同样的错误。

EN

回答 1

Stack Overflow用户

发布于 2015-12-30 19:13:39

如果您想从命令行运行selenium,您应该在jar的类路径上添加selenium-server-独立(例如使用-cp选项,例如here),或者让maven使用包含在jar中的selenium服务器独立构建jar。实现这一目标的最简单的方法可能是获得带有所有依赖项的jar,正如here解释的那样,尽管在这种情况下,您重复了一些依赖关系,因为selenium服务器独立也有它的所有依赖项(因此jar更大)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34534940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档