简体   繁体   English

线程“main”org.openqa.selenium.WebDriverException 中的异常:返回值无法转换为 WebElement:{stacktrace=Backtrace:

[英]Exception in thread "main" org.openqa.selenium.WebDriverException: Returned value cannot be converted to WebElement: {stacktrace=Backtrace:

I am getting an error in simple program, earlier it was working fine, now for some reason I am not able to execute it.我在简单程序中遇到错误,之前它运行良好,现在由于某种原因我无法执行它。 I am using selenium 3.0.1 Chrome driver 93.0.4 Please check my code and error below.我正在使用 selenium 3.0.1 Chrome 驱动程序 93.0.4 请检查我的代码和下面的错误。
It would be appreciated if anyone can help me如果有人可以帮助我,将不胜感激

My Code:我的代码:

public class MouseOverDemo {

    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "C:\\SeleniumJars\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        // JavascriptExecutor js = (JavascriptExecutor)driver;
        //driver.get("http://demo.guru99.com/test/drag_drop.html");
        driver.get("https://jqueryui.com/resizable/");
        Actions action = new Actions(driver);

        WebElement resize = driver.findElement(By.cssSelector("body.jquery-ui.page.page-id-43.page-template-default.page-slug-resizable.single-author.singular:nth-child(2) div:nth-child(2) div.clearfix.row:nth-child(3) div.content-right.twelve.columns div:nth-child(1) > iframe.demo-frame:nth-child(5)"));
        driver.switchTo().frame(resize);
        WebElement resize1 = driver.findElement(By.id("resizable"));
        action.moveToElement(resize1, 2500, 2500).build().perform();
        System.out.println("Resize is done");
    
    }

Error:错误:

Starting ChromeDriver 93.0.4577.63 (ff5c0da2ec0adeaed5550e6c7e98417dac77d98a-refs/branch-heads/4577@{#1135}) on port 40273
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
Nov. 11, 2021 3:43:35 P.M. org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Attempting bi-dialect session, assuming Postel's Law holds true on the remote end
Nov. 11, 2021 3:43:36 P.M. org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Falling back to original OSS JSON Wire Protocol.
Nov. 11, 2021 3:43:36 P.M. org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
Exception in thread "main" org.openqa.selenium.WebDriverException: Returned value cannot be converted to WebElement: {stacktrace=Backtrace:
    Ordinal0 [0x003CD403+2479107]
    Ordinal0 [0x00367D51+2063697]
    Ordinal0 [0x00271F90+1056656]
    Ordinal0 [0x00291A80+1186432]
    Ordinal0 [0x002B58E7+1333479]
    Ordinal0 [0x002B395A+1325402]
    Ordinal0 [0x002B351D+1324317]
    Ordinal0 [0x00254D3F+937279]
    Ordinal0 [0x00255246+938566]
    Ordinal0 [0x00255521+939297]
    GetHandleVerifier [0x0054F3F6+1531734]
    GetHandleVerifier [0x005FE9AE+2249998]
    GetHandleVerifier [0x004539AB+501003]
    GetHandleVerifier [0x00452A29+497033]
    Ordinal0 [0x0036D11D+2085149]
    Ordinal0 [0x00254ADE+936670]
    Ordinal0 [0x002546C0+935616]
    GetHandleVerifier [0x00625E4C+2410924]
    BaseThreadInitThunk [0x765AFA29+25]
    RtlGetAppContainerNamedObjectPath [0x777A7A9E+286]
    RtlGetAppContainerNamedObjectPath [0x777A7A6E+238]
, error=invalid session id, message=invalid session id}
Build info: version: 'unknown', revision: '1969d75', time: '2016-10-18 09:43:45 -0700'
System info: host: 'DESKTOP-HAH9N6P', ip: '172.16.12.8', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.11'
Driver info: driver.version: RemoteWebDriver
    at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:375)
    at org.openqa.selenium.remote.RemoteWebDriver.findElementByName(RemoteWebDriver.java:449)
    at org.openqa.selenium.By$ByName.findElement(By.java:303)
    at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:360)
    at demoSelenium.Locators.main(Locators.java:21)
Caused by: java.lang.ClassCastException: class com.google.common.collect.Maps$TransformedEntriesMap cannot be cast to class org.openqa.selenium.WebElement (com.google.common.collect.Maps$TransformedEntriesMap and org.openqa.selenium.WebElement are in unnamed module of loader 'app')
    at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:373)
     4 more

This error message...这个错误信息...

Starting ChromeDriver 93.0.4577.63 (ff5c0da2ec0adeaed5550e6c7e98417dac77d98a-refs/branch-heads/4577@{#1135}) on port 40273
Only local connections are allowed.
Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe.
ChromeDriver was started successfully.
Nov. 11, 2021 3:43:35 P.M. org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Attempting bi-dialect session, assuming Postel's Law holds true on the remote end
Nov. 11, 2021 3:43:36 P.M. org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Falling back to original OSS JSON Wire Protocol.
Nov. 11, 2021 3:43:36 P.M. org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
Exception in thread "main" org.openqa.selenium.WebDriverException: Returned value cannot be converted to WebElement: {stacktrace=Backtrace:
    Ordinal0 [0x003CD403+2479107]

...implies that the ChromeDriver was unable to initiate/spawn a new Google Chrome Browsing Context . ...暗示ChromeDriver无法启动/生成新的Google Chrome 浏览上下文

Your main issue is the incompatibility between the version of the binaries you are using.您的主要问题是您使用的二进制文件版本之间的不兼容 Though you are using one of the recent ChromeDriver v93.0.4577.63 but Selenium version is 3.0.1 which is old and ancient .虽然您使用的是最近的 ChromeDriver v93.0.4577.63之一,但Selenium版本是3.0.1 ,这是古老古老的


Solution解决方案

Ensure that:确保这件事:

  • JDK is upgraded to current levels JDK 8u311 . JDK升级到当前级别JDK 8u311
  • Selenium is upgraded to current levels Version 4.0.0 . Selenium升级到当前级别Version 4.0.0
  • ChromeDriver is updated to current ChromeDriver v95.0 level. ChromeDriver更新到当前ChromeDriver v95.0级别。
  • Chrome is updated to current Chrome Version 95.0 level. Chrome已更新到当前的Chrome 版本 95.0级别。 (as per ChromeDriver v78.0 release notes ) (根据ChromeDriver v78.0 发行说明
  • Take a System Reboot .进行系统重启
  • Execute your @Test as non-root user.非 root用户身份执行@Test
  • Always invoke driver.quit() within tearDown(){} method to close & destroy the WebDriver and Web Client instances gracefully.始终在tearDown(){}方法中调用driver.quit()以优雅地关闭和销毁WebDriverWeb Client实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 org.openqa.selenium.WebDriverException:无法使用 Appium 和 iOS 将返回值转换为 WebElement - org.openqa.selenium.WebDriverException: Returned value cannot be converted to WebElement with Appium and iOS 线程“主” org.openqa.selenium.WebDriverException中的异常:无法访问Chrome - Exception in thread “main” org.openqa.selenium.WebDriverException: chrome not reachable 线程“主”org.openqa.selenium.WebDriverException 中的异常:权限被拒绝 - Exception in thread “main” org.openqa.selenium.WebDriverException: permission denied 如何修复线程“主”org.openqa.selenium.WebDriverException 中的异常? - How to fix Exception in thread “main” org.openqa.selenium.WebDriverException? 线程“主” org.openqa.selenium.WebDriverException中的异常:未定义$ - Exception in thread “main” org.openqa.selenium.WebDriverException: $ is not defined 线程“ main”中的异常org.openqa.selenium.WebDriverException - Exception in thread “main” org.openqa.selenium.WebDriverException 线程“主” org.openqa.selenium.WebDriverException中的异常:未知错误:无法聚焦元素 - Exception in thread “main” org.openqa.selenium.WebDriverException: unknown error: cannot focus element 线程“main” org.openqa.selenium.WebDriverException 中的异常:未知错误:无法获得自动化扩展 - Exception in thread “main” org.openqa.selenium.WebDriverException: unknown error: cannot get automation extension 线程“主”org.openqa.selenium.WebDriverException 中的异常:未知错误:使用 Selenium 单击时无法确定加载状态错误 - Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: cannot determine loading status error while clicking using Selenium 线程“主”org.openqa.selenium.WebDriverException 中的异常:未知错误:使用 Selenium Java 的意外命令响应 - Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: unexpected command response using Selenium Java
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM