htmlunit驱动程序给我com.gargoylesoftware.htmlunit.html.HtmlPage无法转换为com.gargoylesoftware.htmlunit.InteractivePage错误 [英] htmlunit driver gives me com.gargoylesoftware.htmlunit.html.HtmlPage cannot be cast to com.gargoylesoftware.htmlunit.InteractivePage error

查看:603
本文介绍了htmlunit驱动程序给我com.gargoylesoftware.htmlunit.html.HtmlPage无法转换为com.gargoylesoftware.htmlunit.InteractivePage错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请在此处找到我的代码段,并且我在linux中使用rhel框:

Please find my code snippet here and I am using rhel box in linux:

WebDriver driver = new HtmlUnitDriver();
driver.get("https://www.amazon.com/ap/register?_encoding=UTF8&openid.assoc_handle=usflex&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.mode=checkid_setup&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.ns.pape=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Fpape%2F1.0&openid.pape.max_auth_age=0&openid.return_to=https%3A%2F%2Fwww.amazon.com%2Fgp%2Fyourstore%2Fhome%3Fie%3DUTF8%26ref_%3Dnav_newcust");
driver.findElement(By.id("ap_customer_name")).sendKeys("krish"); // line 24

我收到以下错误:

Exception in thread "main" java.lang.ClassCastException: com.gargoylesoftware.htmlunit.html.HtmlPage cannot be cast to com.gargoylesoftware.htmlunit.InteractivePage
    at org.openqa.selenium.htmlunit.HtmlUnitDriver$HtmlUnitTargetLocator.activeElement(HtmlUnitDriver.java:1332)
    at org.openqa.selenium.htmlunit.HtmlUnitWebElement.switchFocusToThisIfNeeded(HtmlUnitWebElement.java:292)
    at org.openqa.selenium.htmlunit.HtmlUnitWebElement.sendKeys(HtmlUnitWebElement.java:330)
    at com.amazon.digitalmusic.UnitBrowser.main(UnitBrowser.java:24)

HTMLunit-2.17和Selenium jar文件在我的项目路径中.

HTMLunit-2.17 and selenium jar files are there in my project path.

我尝试了谷歌搜索,但无法解决.在这方面以及我出了问题的地方可以提供一些帮助.

I tried googling but could not be able to resolve it. Could some help in this and where I went wrong.

预先感谢

推荐答案

这是HtmlUnit和WebDriver之间的版本不兼容.

This is a version incompatibility between HtmlUnit and WebDriver.

com.gargoylesoftware.htmlunit.InteractivePage作为HtmlPage的新基类于2015年7月26日引入HtmlUnit,它是

com.gargoylesoftware.htmlunit.InteractivePage was introduced into HtmlUnit on 26 July 2015, as the new base class for HtmlPage, which corresponds to release 2.18.

但是,WebDriver已经是

However, WebDriver has been checking for InteractivePage since release 2.48.0, which you must have. So anyone mixing up WebDriver >= 2.48 with HtmlUnit < 2.18 is going to get that error.

解决方案是更新HtmlUnit(最新版本为 2.20 ),或者,如果您使用Maven等,请完全删除依赖项,因为WebDriver本身应该/将包含正确的版本.

The solution is to update your HtmlUnit (2.20 is the latest) - or if you use Maven etc., remove the dependency altogether, as the correct version should/will be included by WebDriver itself.

这篇关于htmlunit驱动程序给我com.gargoylesoftware.htmlunit.html.HtmlPage无法转换为com.gargoylesoftware.htmlunit.InteractivePage错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆