当前位置: 首页 > 面试题库 >

将Selenium与Mozilla的GeckoDriver一起使用时,找不到CircularOutputStream类异常

洪伟兆
2023-03-14
问题内容

使用Java Selenium Firefox geckodriver时出现问题。这是问题所在:

  • OS:Windows 7

  • selenium ersion:Selenium 3.0.0 beta4

  • Java:8

  • Geckodriver:v0.10.0

Error msg: Exception in thread “main” java.lang.NoClassDefFoundError: org/openqa/selenium/remote/internal/CircularOutputStream at org.openqa.selenium.firefox.FirefoxBinary.(FirefoxBinary.java:56) at org.openqa.selenium.firefox.FirefoxBinary.(FirefoxBinary.java:52) at org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:92) at tools.Cadencie.LoginCad(Cadencie.java:24) at tools.Cadencie.main(Cadencie.java:73) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.remote.internal.CircularOutputStream at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) … 10 more

码:

public class Cadencie {

static WebDriver driver;

public void LoginCad(){

    //System.setProperty("webdriver.firefox.bin", "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");

    System.setProperty("webdriver.gecko.driver", "C:\\Program Files (x86)\\Mozilla Firefox\\geckodriver.exe");

    driver = new FirefoxDriver();

    driver.get("http://172.16.1.133:8090/CADENCIE/servlet/app");

    try {

        Thread.sleep(1000);

    } catch(InterruptedException e){

        e.printStackTrace();

    }

    Utilities.switchToWindow("Cadencie - User Logon [LOGON]", driver);

    try{

        Thread.sleep(2000);

    } catch(InterruptedException e){

        e.printStackTrace();

    }

    driver.findElement(By.id("idBANK")).clear();
    driver.findElement(By.id("idBANK")).sendKeys("48");

    driver.findElement(By.id("idEMPLOYEE")).clear();
    driver.findElement(By.id("idEMPLOYEE")).sendKeys("200003");

    driver.findElement(By.id("idPASSWORD")).clear();
    driver.findElement(By.id("idPASSWORD")).sendKeys("Cadencie1");

    driver.findElement(By.id("maintLOGON")).click();

    driver.findElement(By.id("idPASSWORD")).clear();
    driver.findElement(By.id("idPASSWORD")).sendKeys("Cadencie1");

    driver.findElement(By.id("maint")).click();

}

我认为这可能是版本不一致的问题。因为我有另一个正在使用maven的自动化项目,所以selenium2.52.0
..但不确定是否会引起问题。我这次不使用Maven。只需尝试创建JAVA GUI程序(工具包)。


问题答案:

发生异常是因为缺少的jar文件classpath

如果您不使用Maven,请检查“
在MVN存储库中的编译依赖项”页面,然后将jar手动添加到您的类路径中。

如果您使用的是Maven,请参见:java.lang.classnotfoundexception:org.openqa.selenium.io.Circular
OutputStream



 类似资料:
  • 问题内容: 使用Java Selenium Firefox geckodriver时出现问题。这是问题所在: *操作系统:Windows 7 *硒版本:Selenium 3.0.0 beta4 Java:8 Geckodriver:v0.10.0 错误消息:线程“主”中的异常java.lang.NoClassDefFoundError:org.openqa.selenium.firefox.Fir

  • *爪哇:8 *GeckoDriver:V0.10.0 错误MSG:线程“main”java.lang.noClassDeffounderror:org.openqa.selenium.firefox.firefoxBinary的org/openqa/selenium/remote/internal/circularoutputstream.(firefoxBinary.firefoxBinary.

  • 问题内容: 我的开发目录中安装了geckodriver 我还导出到$ PATH变量 但是当我尝试在项目的Rails控制台上初始化webdriver的实例时,我得到了 驱动程序= Selenium :: WebDriver.for:firefox Selenium :: WebDriver :: Error :: WebDriverError:无法找到Mozilla geckodriver。请从ht

  • 我正在尝试将RXJava2用于房间数据库。我使用单个可观察对象来获取我的对象列表。但每次我犯这个错误 找不到符号类EmptyResultSetException 我正在使用本教程ANDROID ROOM PERSISTENT和RXJAVA2 我以前在没有RXJava的AsyncTask中使用过它,它可以工作,所以我想在RXJava中使用它 这是我的身材。格拉德尔 道类 我的活动

  • 问题内容: 由于Tor浏览器捆绑包只是Firefox的修补版本,因此似乎应该可以在Tor浏览器中使用。到目前为止,这是我尝试过的: 这将导致空白的Tor浏览器页面打开,并弹出消息: 无法加载Firefox配置文件。 它可能丢失或无法访问。 我知道配置文件是有效/兼容的,因为我可以使用以下命令成功启动浏览器和配置文件: 但是,我不知道如何向打开的浏览器发送命令。 我发现了类似的问题,但是我正在寻找J

  • 我给你的是不可变的。试试看。我需要的是能够指定一个类,所以我定义了 由immutables生成的生成器不接受此选项 因为它需要一门课 用@Value注释类型。参数很好地创建了一个有效的方法 但结果是一个实例,而不是一个生成器,因此只能使用withers设置后续值。