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()
    
  • 相关阅读:
    在linux下使用sqlcmd
    sqlserver 索引的结构及其存储,索引内容
    据库被标记为RESTORING的处理方式,正在还原中,正在恢复
    sql语句的优化分析
    SQL Server表分区-水平分区
    JavaScript Structure
    JS----Issue
    JavaScript Book Plan
    LINQ
    About JavaScript
  • 原文地址:https://www.cnblogs.com/duchaoqun/p/13891202.html
Copyright © 2011-2022 走看看