HtmlUnit实现模拟浏览器点击按钮的效果
2017-08-15 20:28
519 查看
HtmlUnit简介
htmlunit 是一款开源的java 页面分析工具,读取页面后,可以有效的使用htmlunit分析页面上的内容。项目可以模拟浏览器运行,被誉为java浏览器的开源实现。是一个没有界面的浏览器,运行速度迅速。是junit的扩展之一
HtmlUnit示例
1:webclient的包是htmlunit的,不是httpunit的,httpunit的webclient这个类是抽象的,不能直接new的。
2:htmlunit的包要用最新版的2.27版本的jar包。低版本的jar包是没有getOptions()这个类的。
3:如果出现这个错误 UnsupportedClassVersionError。表示版本不一致,要确保你本地jdk的版本是1.8,eclipse部署的版本也是1.8,怎么看就不说了。
jar包下载地址:https://jaist.dl.sourceforge.net/project/htmlunit/htmlunit/2.27/htmlunit-2.27-bin.zip
htmlunit 是一款开源的java 页面分析工具,读取页面后,可以有效的使用htmlunit分析页面上的内容。项目可以模拟浏览器运行,被誉为java浏览器的开源实现。是一个没有界面的浏览器,运行速度迅速。是junit的扩展之一
HtmlUnit示例
import java.io.IOException; import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.html.HtmlForm; import com.gargoylesoftware.htmlunit.html.HtmlPage; import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput; import com.gargoylesoftware.htmlunit.html.HtmlTextInput; public class Ddkjg { public static void main(String[] args) throws IOException { // 得到浏览器对象,直接New一个就能得到,现在就好比说你得到了一个浏览器了 WebClient webclient = new WebClient(); // 下面这2句可以写,也可以不写,设置false就是不加载css和js。访问速度更快 webclient.getOptions().setCssEnabled(false); webclient.getOptions().setJavaScriptEnabled(false); // 做的第一件事,去拿到这个网页,只需要调用getPage这个方法即可 HtmlPage htmlpage = webclient.getPage("https://baidu.com"); // 根据名字得到一个表单,查看上面这个网页的源代码可以发现表单的名字叫“f” final HtmlForm form = htmlpage.getFormByName("f"); // 同样道理,获取”百度一下“这个按钮 final HtmlSubmitInput button = form.getInputByValue("百度一下"); // 得到搜索框 final HtmlTextInput textField = form.getInputByName("wd"); //设置搜索框的value textField.setValueAttribute("战狼2"); // 设置好之后,模拟点击按钮行为。 final HtmlPage nextPage = button.click(); // 把结果转成String String result = nextPage.asXml(); //得到的是点击后的网页 System.out.println(result); } }注意问题:
1:webclient的包是htmlunit的,不是httpunit的,httpunit的webclient这个类是抽象的,不能直接new的。
2:htmlunit的包要用最新版的2.27版本的jar包。低版本的jar包是没有getOptions()这个类的。
3:如果出现这个错误 UnsupportedClassVersionError。表示版本不一致,要确保你本地jdk的版本是1.8,eclipse部署的版本也是1.8,怎么看就不说了。
jar包下载地址:https://jaist.dl.sourceforge.net/project/htmlunit/htmlunit/2.27/htmlunit-2.27-bin.zip
相关文章推荐
- 一个窗口里包含一个iframe,点击iframe内的submit按钮,返回的视图总是显示在iframe中,我想要的效果是点击按钮后返回的视图是在浏览器窗口中...?asp.net mvc 的action中,不用js怎么实现??????????
- js实现点击一个按钮达到浏览器全屏效果
- 用html5(requestFullscreen) js实现点击一个按钮使浏览器全屏效果
- 用html5 js实现点击一个按钮达到浏览器全屏效果
- 用Html5 or JS实现点击一个按钮达到浏览器全屏效果
- 用html5 js实现点击一个按钮达到浏览器全屏效果
- jQuery 实现 点击按钮后倒计时效果,多用于实现发送手机验证码、邮箱验证码(未测试)
- android 按钮点击效果实现 在studio下出现的错误
- android仿IOS按钮点击效果,一张图片实现
- 如何实现返回上一个页面,就像点击浏览器的返回按钮一般
- Android XML中实现按钮点击效果以及背景平铺
- H5移动web页面触摸按钮效果实现-模拟按钮hover效果实现
- 代码实现Selector按钮点击效果
- android 按钮点击效果实现
- Android按钮点击效果的实现(selector)
- jQuery 实现 点击按钮后倒计时效果,多用于实现发送手机验证码、邮箱验证码
- android 按钮点击效果实现 在studio下出现的错误
- Android_UI_点击按钮切换背景效果实现
- css美化number类型输入框美化实现自定义+、-号点击按钮增减效果