简体   繁体   English

如何获得这个隐藏的领域?

[英]how to get this hidden field?

I have this piece of HTML: 我有这段HT​​ML:

<li class="hidden-xs-inline">
 <a class='page-link' href="/acne-scars-treatment/answers?page=226" data-page="226">
</a>
</li>

how could I get the number 226 using Java with Jsoup? 如何将Java与Jsoup一起使用,得到226

I used this code: 我使用以下代码:

Document doc=Jsoup.connect(topic_link).get();

Elements elements = doc.select("li.hidden-xs-inline > a.page-link");

return elements.text();

but it didn't return that number I want to get! 但是它没有返回我想要的数字!

any idea!? 任何想法!?

The data you require is not in the elements body so 'text()' won't work. 您需要的数据不在元素主体中,因此'text()'将不起作用。 Try: 尝试:

elements.attr("data-page");

For more information please look at: https://jsoup.org/apidocs/org/jsoup/select/Elements.html 有关更多信息,请查看: https : //jsoup.org/apidocs/org/jsoup/select/Elements.html

see below: 见下文:

import org.apache.http.NameValuePair;
import org.apache.http.client.utils.URLEncodedUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

import java.net.URI;
import java.net.URISyntaxException;
import java.nio.charset.Charset;
import java.util.List;


/**
 add following dependencies to pom.xml

           <dependency>
              <groupId>org.jsoup</groupId>
               <artifactId>jsoup</artifactId>
               <version>1.10.2</version>
           </dependency>

           <dependency>
               <groupId>org.apache.httpcomponents</groupId>
               <artifactId>httpclient</artifactId>
               <version>4.5.3</version>
           </dependency>

 */
public class JsoupExample {

    public static void main(String[] args) throws URISyntaxException {

        String HTMLSTring = "<li class=\"hidden-xs-inline\">\n" +
                " <a class='page-link' href=\"/acne-scars-treatment/answers?page=226\" data-page=\"226\">\n" +
                "</a>\n" +
                "</li>";

        Document html = Jsoup.parse(HTMLSTring);

        Elements hiddenElements = html.body().getElementsByClass("hidden-xs-inline");

        Elements pageLinkElements = hiddenElements.get(0).getElementsByClass("page-link");
        String href = pageLinkElements.get(0).attr("href");

        List<NameValuePair> params = URLEncodedUtils.parse(new URI(href), Charset.forName("UTF-8"));

        for (NameValuePair param : params) {
            System.out.println(param.getName() + " : " + param.getValue());  //page : 226
        }


    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM