zoukankan      html  css  js  c++  java
  • htmlunit 基础01

    说明

    gradle引用

    // 抓取网页
    // https://mvnrepository.com/artifact/net.sourceforge.htmlunit/htmlunit
    compile group: 'net.sourceforge.htmlunit', name: 'htmlunit', version: '2.44.0'
    // 解析网页
    // https://mvnrepository.com/artifact/org.jsoup/jsoup
    compile group: 'org.jsoup', name: 'jsoup', version: '1.13.1'

    案例

    import com.gargoylesoftware.htmlunit.BrowserVersion
    import com.gargoylesoftware.htmlunit.WebClient
    import com.gargoylesoftware.htmlunit.html.DomElement
    import com.gargoylesoftware.htmlunit.html.HtmlPage
    
    
    WebClient webClient = new WebClient(BrowserVersion.FIREFOX_68)
    // 启用JS解释器,默认为true
    webClient.getOptions().setJavaScriptEnabled(true)
    // 禁用css支持
    webClient.getOptions().setCssEnabled(false)
    // js运行错误时,是否抛出异常
    webClient.getOptions().setThrowExceptionOnScriptError(false)
    webClient.getOptions().setThrowExceptionOnFailingStatusCode(false)
    // 设置连接超时时间
    webClient.getOptions().setTimeout(10 * 1000)
    
    HtmlPage htmlPage = webClient.getPage("https://news.sina.com.cn/roll/")
    // 等待JS执行,再访问的时候需要给JS一些执行时间。
    webClient.waitForBackgroundJavaScript(10 * 1000)
    // 返回所有的文本
    String text = htmlPage.asText()
    // 返回html代码
    String html = htmlPage.asXml()
    // 获取指定 Dom 元素
    DomElement spanDom = htmlPage.getElementByName("span")
    // 获取内容
    spanDom.getTextContent()
    // 点击操作
    spanDom.click()
    
  • 相关阅读:
    多国语言功能设计与实现
    锁标记
    Qt之生成Window资源文件(.rc 文件)
    如何获取本地html文件的标题
    Qt+gsoap调用WebService
    在Qt中使用ActiveX控件
    让notepad.exe的utf8不添加BOM
    Asp.Net生命周期系列四
    C#操作AD及Exchange Server总结
    C#彻底解决Web Browser 跨域读取Iframes内容
  • 原文地址:https://www.cnblogs.com/duchaoqun/p/13891202.html
Copyright © 2011-2022 走看看