Jsoup select方法总是返回null

时间:2018-06-16 07:06:14

标签: java html jsoup

enter image description here

在上图中,我想从突出显示的行中提取值Rs. 4794

这是我尝试过的。

Document document = Jsoup.connect(url).get();

Element price = document.select("#mountRoot > div > div > main > div.pdp-details > div.pdp-description-container > div.pdp-price-info > p.pdp-selling-price > strong").first();

System.out.println(price);

但代码返回null。

非常感谢任何形式的帮助。

2 个答案:

答案 0 :(得分:1)

您尝试使用Jsoup解析的网页会动态更新内容。

您获取的是空值,因为网页未完全加载。为了获得价格值,您必须等到页面加载。使用Jsoup无法做到这一点。

您拥有的一个选项是使用Selenium。使用selenium可以等待页面加载或等待元素可见。然后你就可以得到价格值。

你可以找到here来使用selenium来显示元素。关于这个主题有很多教程。

答案 1 :(得分:0)

依靠绝对布局找到一个div很糟糕。尝试使用更通用的方法:

Element price = document.select("#mountRoot p.pdp-selling-price > strong").first();

要输出标记内容,请使用.text()方法:

System.out.println(price.text());