簡體   English   中英

如何從div類獲取文本?

[英]How to get the text from div class?

我正在嘗試從HTML頁面的div類讀取文本。
我正在嘗試的是,我正在嘗試從div類下面讀取文本。

<div class="Oprice clearfix">
<div class="text-bold Nprice">

我不明白,什么是clearfix和文本粗體。 請給我解釋一下。 以下代碼適用於兩個div類。

Element lcEl = doc.getElementsByClass("Oprice").first(); //first div
System.out.println("found price: "+lcEl.text()); 

Element lcEl = doc.getElementsByClass("Nprice").first(); //second div
System.out.println("found price: "+lcEl.text());

但是為什么下面的代碼不起作用?

Element lcEl = doc.getElementsByClass("Oprice.clearfix").first(); //first div
    System.out.println("found price: "+lcEl.text());

Element lcEl = doc.getElementsByClass("text-bold.Nprice").first();
    System.out.println("found price: "+lcEl.text());

請幫助我,有什么方法可以使它正常工作嗎?

我認為您正在使用jsoup。

根據您使用的方法getElementsByClass(String className) ,不允許多個類名

public Elements getElementsByClass(String className)

此方法查找具有此類的元素,包括該元素或在該元素下。 它不區分大小寫。 元素可以有多個類(例如<div class="header round first"> 。該方法檢查每個類,因此可以使用el.getElementsByClass("header");找到上面的類,但是不能提供像Oprice.clearfix這樣的類名Oprice.clearfix ,因為其實現不允許這種參數。

參數:className-要搜索的類的名稱。

返回:具有提供的類名的元素,如果沒有則為空

如果要捕獲具有多個類的元素,請使用select() ,方法如下:

String html = "<div class=\"content-text right-align bold-font\">foo</div>";
Document document = Jsoup.parse(html);
Elements elements = document.select("div.content-text.right-align.bold-font");
System.out.println(elements.text());

“ Oprice”和“ clearfix”是兩個類別

<div class="Oprice clearfix"/>

這意味着,您可以通過以下方式獲取此標簽:

doc.getElementsByClass("Oprice").first(); 

要么

doc.getElementsByClass("clearfix").first(); 

不起作用的代碼:

doc.getElementsByClass("Oprice.clearfix").first()

只是沒有意義。 document.getElementsByClass()接受一個表示您要查詢的類的字符串。 您提供的參數(“ Oprice.clearfix”)看起來像(但不是)css查詢。 您需要在此方法中提供准確准確的類名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM