0

我正在使用 Selenium WebDriver、Jsoup、Opencsv 和 Java 来解析 HTML 页面,包括一个网站的 javascript,然后生成 csv 文件。我可以从 Eclipse 运行它,但我想使用批处理文件来自动化它。我的 java 程序有两个类 - 主类和网站类。所以我复制了 Eclipse 生成的这两个类并将其放在一个文件夹中。然后我还复制了所有外部jar文件,如selenium 2.33.0、opencsv-2.3和jsoup 1.7.2,并在同一文件夹中创建了批处理文件

@ECHO OFF
Java 主暂停

然后我尝试运行批处理文件,但失败了。我再次尝试将批处理文件更改为

@ECHO OFF
set CLASSPATH=.
set CLASSPATH=%CLASSPATH%;C:\Data\Website\selenium-2.33.0\selenium-2.33.0\selenium-2.33.0\*.jar;C:\Data\Website\selenium-2.33.0\selenium-2.33.0\selenium-2.33.0\libs\*.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 webdriver 测试,但我发现需要 JUnit。我只是使用 Java 和第三方库来满足我的要求。提前谢谢。

4

1 回答 1

0

这个答案很简单。

@ECHO off
SET "SELDIR=C:\Data\Website\selenium-2.33.0"
SET "CLASSPATH=.;%SELDIR%\*.jar;%SELDIR%\libs\*.jar"
"%JAVA_HOME%\bin\java.exe" -cp "%CLASSPATH%" MainClassName arg1 arg2
PAUSE
于 2013-07-02T06:04:44.593 回答