响应时登录html,HtmlUnit:单击不响应时登录HtmlElement
由于您尚未发布要调用的网址,因此我只能提供一些提示。
即使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相关推荐
- WCF 接收我服务的 HTTP 响应时发生错误
错误内容: System.ServiceModel.CommunicationException: 接收对 https://xx.com/xx.svc的 HTTP 响应时发生错误.这可能是由于服务终结 ...
- Wcf 接收对http://*.*.*.*的的 HTTP 响应时发生错误... 的解决方法
在做项目时利用Wcf直接返回一个DataTable在客户端解析数据,遇到一个问题,客户端可以请求过去,服务端也进行了返回,可是客户端却接收不到返回的数据,并且报错误: 接收对 http://*.*.* ...
- 各种风格登录页响应式html5模板 Admin后台管理系统模板手机wap登录页html模板html会员登录页面模板源码70多套高大尚响应式网站模板html5网页静态模板Bootstrap扁平化网站源码
各种风格登录页响应式html5模板 Admin后台管理系统模板手机wap登录页html模板html会员登录页面模板源码70多套高大尚响应式网站模板html5网页静态模板Bootstrap扁平化网站源码 ...
- 通过session来设置登录主界面时,通过过滤器filter判断是否已经登录过,如果已经登陆过可以直接访问主界面,如果没有,需要重新登陆
以下通过session来设置登录主界面时,通过过滤器filter判断是否已经登录过,如果已经登陆过可以直接访问主界面,如果没有,需要重新登陆. 实现功能,当第一次登陆时,经过账号密码判断 ...
- uni-app:实现页面未登录时拦截,弹出‘请先登录提示’
uni-app:实现页面未登录时拦截,弹出'请先登录提示' 首先我的接口是封装好的,如图所示: 若需要判断是否登录,只需将auth改为true auth: true 在index.js中添加逻辑 我是 ...
- TTFB响应时快时慢问题解决
1.情景描述 开发一个项目,已经有两个环境:开发环境和测试环境,结果发现,在测试环境上 响应时快时慢.打开Google的本地调试的窗口,发现了Waiting (TTFB),经常出现3s多的,有时甚至 ...
- ie登录显示登录到ftp服务器,Ie浏览器登录ftp服务器
Ie浏览器登录ftp服务器 内容精选 换一换 通过Web浏览器登录云堡垒机系统,上报您的IP地址不在允许登录的范围内!错误.通过Web浏览器登录云堡垒机系统,上报您的MAC地址不在允许登录的范围内!错 ...
- 云服务器centos登录日志文件,云服务器centos登录日志文件
云服务器centos登录日志文件 内容精选 换一换 提供多个业务节点提供共享的日志输出目录,方便分布式应用的日志收集和管理.业务特点:多个业务主机挂载同一个共享文件系统,并发打印日志.大文件小I/O: ...
- drcom宽带认证登录超时_开发SSO单点登录需要注意的问题
一.单点登录系统开发需要注意的问题 1.单点登录系统需要支持jsonp请求? 单点登录系统主要是向其他系统提供用户身份验证服务,因此需要提供对外接口,而外部系统通过接口访问时,必然涉及跨域问题,因此需 ...
最新文章
- 14 个经典的 Linux 终端命令行,这些工具堪称神器!
- MapReduce过程详细分析
- 重磅新作!预训练语言模型入门必读好书 | 送书福利
- jupyternotebook运行python_怎么运行jupyter notebook?
- 警告warningC4018有符号/无符号不匹配
- RabbitMQ学习之:(一)初识、概念及心得
- 如何使用PressForward进行内容创建
- 深入浅出Lua虚拟机
- 解密flash播放器
- Python3.7 Scrapy crawl 运行出错解决方法
- rust大油田分解机_辽河油田曙光采油厂:智慧党建建强战斗堡垒
- The Willpower Instinct(自控力,意志力)
- mysql 时间戳 bigint_MySQL时间类型datetime、bigint及timestamp的查询效率
- mysql 临时列可以判断,mysql数据库常用命令
- Labview实现画板
- 2015.3.12Arinc424 Tools中SiniArincCls.csParserFile(string sFile)函数正则表达式理解
- 一键进入高通9008模式_想闯中国智能汽车的高通和想花200亿的威马
- 云计算与大数据——数据挖掘常用算法
- WinCC7.5 笔记3-用表格和趋势图显示温度变化和风扇运转(变量记录)
- WGCNA:(加权共表达网络分析)
热门文章
- python中静态变量和静态方法_【开发者笔记】python中的类方法(@classmethod)和静态方法(@staticmethod)...
- java stack 从1.5开始?_java数据结构与算法之栈(Stack)设计与实现
- 利用循环神经网络生成唐诗_【机器学习】【期末复习】闲聊神经网络 分类
- fastdfs详细安装教程
- Python2和python3字符编码的区别
- Android FFmpeg移植总攻略——获取视频帧数(亲测可用)
- 计算机技能训练B会学什么,计算机入门及操作技能训练模拟试题.pdf
- Linux下编译vtk的java版本,vtk在linux下的安裝(12月8日更新)
- ubuntu中查找文件后高亮_ubuntu 中查找文件的命令
- c语言程序窗口后台持续监测,用c语言实现后台运行的、每隔30s检查一次的、带有日志功能的断网重新连接程序...