我正在尝试从HTML页面读取div类的文本。
我正在尝试的是,我试着从下面的div类阅读课文。
<div class="Oprice clearfix">
<div class="text-bold Nprice">我不明白,什么是清晰和文字-大胆。请解释一下。下面的代码适用于两个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());请帮帮我,有什么办法让它起作用吗?
发布于 2015-09-09 06:29:49
我想你用的是汤汁。
根据您使用过的方法getElementsByClass(String className)不允许多个类名
public Elements getElementsByClass(String className)此方法查找具有此类的元素,包括或在此元素下。它对案件不敏感。元素可以有多个类(例如,<div class="header round first"> )。这个方法检查每个类,这样您就可以在el.getElementsByClass("header");中找到上面的内容。但是不能提供像Oprice.clearfix这样的类名。因为它的实现不允许这样的论点。
参数: className -要搜索的类的名称。 返回:具有提供的类名的元素,如果没有,则为空
如果希望具有多个类的catch元素使用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());发布于 2015-09-09 06:28:13
"Oprice“和"clearfix”是用于
<div class="Oprice clearfix"/>这意味着,您可以通过以下方式获得这个标签:
doc.getElementsByClass("Oprice").first(); 或
doc.getElementsByClass("clearfix").first(); 不起作用的代码:
doc.getElementsByClass("Oprice.clearfix").first()只是没道理。document.getElementsByClass()接受表示要查询的类的字符串。您提供的参数("Oprice.clearfix")看起来(但不是)一个css查询。您需要在此方法中提供精确和准确的类名。
https://stackoverflow.com/questions/32472208
复制相似问题