由于您尚未发布要调用的网址,因此我只能提供一些提示。

即使HtmlUnit在幕后发挥了很多魔力,您也需要对所有Web技术有基本的了解

从代码看来,登录是基于Ajax完成的;这有一些含义:Ajax需要启用JavaScript(默认为HtmlUnit)

Ajax是异步的-HtmlUnit中的所有操作(例如,单击)都是同步的,这意味着您必须等待ajax调用完成

在您的特殊情况下,ajax调用会通过使用不同的URL(document.location ='main.html')重新加载页面来成功更改页面的内容。因此,您必须刷新页面变量

或在代码中:

try (WebClient webClient = new WebClient(BrowserVersion.FIREFOX_52))

{

webClient.getOptions().setUseInsecureSSL(true);

HtmlPage page = webClient.getPage(url);

String pageContent = page.asText();

System.out.println(pageContent);

HtmlButtonInput button = page.getFirstByXPath("//input[@type = 'button']");

// to make sure you got the right element

System.out.println(button.asXml());

HtmlTextInput name  = (HtmlTextInput) page.getElementById("username");

HtmlPasswordInput pwd  = (HtmlPasswordInput) page.getElementById("password");

// use type() to simulate typing

name.type(username);

pwd.type(password);

// no need to get the page here because this is still the one the

// button is placed on

button.click();

// wait for ajax to do the job

webClient.waitForBackgroundJavaScript(10000);

// ok hopefully the job is done and the login was successfull

// lets get the current page out of the current window

HtmlPage loggedInPage = (HtmlPage) page.getEnclosingWindow().getTopWindow().getEnclosedPage();

...

// check the result

// you can also write this to a file and open it in a real browser

// maybe the login was failing and there is an error message

// rendered on this page

System.out.println(loggedInPage.asXml());

}

希望能有所帮助。

响应时登录html,HtmlUnit:单击不响应时登录HtmlElement相关推荐

  1. WCF 接收我服务的 HTTP 响应时发生错误

    错误内容: System.ServiceModel.CommunicationException: 接收对 https://xx.com/xx.svc的 HTTP 响应时发生错误.这可能是由于服务终结 ...

  2. Wcf 接收对http://*.*.*.*的的 HTTP 响应时发生错误... 的解决方法

    在做项目时利用Wcf直接返回一个DataTable在客户端解析数据,遇到一个问题,客户端可以请求过去,服务端也进行了返回,可是客户端却接收不到返回的数据,并且报错误: 接收对 http://*.*.* ...

  3. 各种风格登录页响应式html5模板 Admin后台管理系统模板手机wap登录页html模板html会员登录页面模板源码70多套高大尚响应式网站模板html5网页静态模板Bootstrap扁平化网站源码

    各种风格登录页响应式html5模板 Admin后台管理系统模板手机wap登录页html模板html会员登录页面模板源码70多套高大尚响应式网站模板html5网页静态模板Bootstrap扁平化网站源码 ...

  4. 通过session来设置登录主界面时,通过过滤器filter判断是否已经登录过,如果已经登陆过可以直接访问主界面,如果没有,需要重新登陆

           以下通过session来设置登录主界面时,通过过滤器filter判断是否已经登录过,如果已经登陆过可以直接访问主界面,如果没有,需要重新登陆. 实现功能,当第一次登陆时,经过账号密码判断 ...

  5. uni-app:实现页面未登录时拦截,弹出‘请先登录提示’

    uni-app:实现页面未登录时拦截,弹出'请先登录提示' 首先我的接口是封装好的,如图所示: 若需要判断是否登录,只需将auth改为true auth: true 在index.js中添加逻辑 我是 ...

  6. TTFB响应时快时慢问题解决

    1.情景描述 开发一个项目,已经有两个环境:开发环境和测试环境,结果发现,在测试环境上  响应时快时慢.打开Google的本地调试的窗口,发现了Waiting (TTFB),经常出现3s多的,有时甚至 ...

  7. ie登录显示登录到ftp服务器,Ie浏览器登录ftp服务器

    Ie浏览器登录ftp服务器 内容精选 换一换 通过Web浏览器登录云堡垒机系统,上报您的IP地址不在允许登录的范围内!错误.通过Web浏览器登录云堡垒机系统,上报您的MAC地址不在允许登录的范围内!错 ...

  8. 云服务器centos登录日志文件,云服务器centos登录日志文件

    云服务器centos登录日志文件 内容精选 换一换 提供多个业务节点提供共享的日志输出目录,方便分布式应用的日志收集和管理.业务特点:多个业务主机挂载同一个共享文件系统,并发打印日志.大文件小I/O: ...

  9. drcom宽带认证登录超时_开发SSO单点登录需要注意的问题

    一.单点登录系统开发需要注意的问题 1.单点登录系统需要支持jsonp请求? 单点登录系统主要是向其他系统提供用户身份验证服务,因此需要提供对外接口,而外部系统通过接口访问时,必然涉及跨域问题,因此需 ...

最新文章

  1. 14 个经典的 Linux 终端命令行,这些工具堪称神器!
  2. MapReduce过程详细分析
  3. 重磅新作!预训练语言模型入门必读好书 | 送书福利
  4. jupyternotebook运行python_怎么运行jupyter notebook?
  5. 警告warningC4018有符号/无符号不匹配
  6. RabbitMQ学习之:(一)初识、概念及心得
  7. 如何使用PressForward进行内容创建
  8. 深入浅出Lua虚拟机
  9. 解密flash播放器
  10. Python3.7 Scrapy crawl 运行出错解决方法
  11. rust大油田分解机_辽河油田曙光采油厂:智慧党建建强战斗堡垒
  12. The Willpower Instinct(自控力,意志力)
  13. mysql 时间戳 bigint_MySQL时间类型datetime、bigint及timestamp的查询效率
  14. mysql 临时列可以判断,mysql数据库常用命令
  15. Labview实现画板
  16. 2015.3.12Arinc424 Tools中SiniArincCls.csParserFile(string sFile)函数正则表达式理解
  17. 一键进入高通9008模式_想闯中国智能汽车的高通和想花200亿的威马
  18. 云计算与大数据——数据挖掘常用算法
  19. WinCC7.5 笔记3-用表格和趋势图显示温度变化和风扇运转(变量记录)
  20. WGCNA:(加权共表达网络分析)

热门文章

  1. python中静态变量和静态方法_【开发者笔记】python中的类方法(@classmethod)和静态方法(@staticmethod)...
  2. java stack 从1.5开始?_java数据结构与算法之栈(Stack)设计与实现
  3. 利用循环神经网络生成唐诗_【机器学习】【期末复习】闲聊神经网络 分类
  4. fastdfs详细安装教程
  5. Python2和python3字符编码的区别
  6. Android FFmpeg移植总攻略——获取视频帧数(亲测可用)
  7. 计算机技能训练B会学什么,计算机入门及操作技能训练模拟试题.pdf
  8. Linux下编译vtk的java版本,vtk在linux下的安裝(12月8日更新)
  9. ubuntu中查找文件后高亮_ubuntu 中查找文件的命令
  10. c语言程序窗口后台持续监测,用c语言实现后台运行的、每隔30s检查一次的、带有日志功能的断网重新连接程序...