我使用Selenium WebDriver、Jsoup、Opencsv和Java来解析包括一个网站的javascript在内的HTML页面,然后生成csv文件。我可以从Eclipse运行它,但我想使用批处理文件实现它的自动化。我的java程序有两个类——main和website。因此,我复制了Eclipse生成的这两个类,并将其放在一个文件夹中。然后,我还复制了所有外部jar文件,如selenium 2.33.0、opencsv-2.3和jsoup 1.7.2,并在与相同的文件夹中创建了批处理文件
@ECHO关闭
Java Main暂停
然后我尝试运行批处理文件,但失败了。我再次尝试将批处理文件更改为
@ECHO OFF
set CLASSPATH=.
set CLASSPATH=%CLASSPATH%;C:DataWebsiteselenium-2.33.0selenium-2.33.0selenium-2.33.0*.jar;C:DataWebsiteselenium-2.33.0selenium-2.33.0selenium-2.33.0libs*.jar
Java Main
pause
但仍然产生与相同的错误
Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/W
ebDriver
at Main.main(Main.java:6)
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:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 1 more
Press any key to continue . . .
请帮忙。我从批处理文件中搜索了如何运行Selenium网络驱动程序测试,但我发现需要JUnit。我只是使用Java和第三方库来获得我的需求。提前感谢。
这个答案很简单。
@ECHO off
SET "SELDIR=C:DataWebsiteselenium-2.33.0"
SET "CLASSPATH=.;%SELDIR%*.jar;%SELDIR%libs*.jar"
"%JAVA_HOME%binjava.exe" -cp "%CLASSPATH%" MainClassName arg1 arg2
PAUSE