有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

从批处理文件运行Java Selenium webdriver程序(不用于测试)

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

@ECHO OFF
爪哇岛 停顿

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

@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 . . .

请帮忙。我搜索了如何从批处理文件运行SeleniumWebDriver测试,但发现需要JUnit。我只是使用Java和第三方库来满足我的需求。 提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    这个答案很简单

    @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