无法在href(jSoup)中返回文本

时间:2012-01-26 21:03:34

标签: java jsoup

以下是我用于从html代码段下方访问“test”的代码段。如何从html中访问网址https://www.google.com

Elements e = doc.getElementsByAttribute("href");
Iterator<Element> href = e.iterator();
    while ( href.hasNext() ){
    Element link = href.next();
    String text = link.text();
    }



   <a href="javascript:linkToExternalSite('https://www.google.com','','61x38pxls','','','','','')">Test</a>

3 个答案:

答案 0 :(得分:1)

我不是Jsoup专家,但Jsoup是一个html解析器,你不能用它来解析javascript标签内的内容。

所以,你的方法应该是提取

"javascript:linkToExternalSite('https://www.google.com','','61x38pxls','','','','','')"

使用Jsoup。

使用regular expressions来获取内容/网址。

答案 1 :(得分:0)

HREF是一个可以使用Jsoup元素的attr方法访问的属性。这为您提供了属性的全部内容,当然,您需要一些模式匹配来检索URL。

答案 2 :(得分:0)

    String html = "<a href=\"javascript:linkToExternalSite('https://www.google.com','','61x38pxls','','','','','')\">Test</a>";
    Document doc = Jsoup.parse(html);
    Element e = doc.select("a[href]").first();
    String href = e.attr("href");   
    String arg[] = href.split("'");
    String url = arg[1];
    // Output: 'https://www.google.com'
    System.out.println(url);