![](/img/trans.png)
[英]How to get text from div that has no id and class in jSoup Java
[英]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.