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()
    
  • 相关阅读:
    053-98
    053-672
    053-675
    1031 Hello World for U (20分)
    1065 A+B and C (64bit) (20分)
    1012 The Best Rank (25分)
    1015 Reversible Primes (20分)
    1013 Battle Over Cities (25分)
    1011 World Cup Betting (20分)
    1004 Counting Leaves (30分)
  • 原文地址:https://www.cnblogs.com/duchaoqun/p/13891202.html
Copyright © 2011-2022 走看看