Java Jsoup抓取HTML动态内容

Java Jsoup抓取HTML动态内容,java,html,css,jsoup,Java,Html,Css,Jsoup,我是Jsoup的新手,我一直在尝试创建一个小代码,使用Jsoup获取steam库存中项目的名称 public Element getItem(String user) throws IOException{ Document doc; doc = Jsoup.connect("http://steamcommunity.com/id/"+user+"/inventory").get(); Element element = doc.getElementsByClass(

我是Jsoup的新手,我一直在尝试创建一个小代码,使用Jsoup获取steam库存中项目的名称

public Element getItem(String user) throws IOException{
    Document doc;

    doc = Jsoup.connect("http://steamcommunity.com/id/"+user+"/inventory").get();
    Element element = doc.getElementsByClass("hover_item_name").first();
    return element;
}
此方法返回:

<h1 class="hover_item_name" id="iteminfo0_item_name"></h1>

我想要的信息是“h1”标签,它是当你点击一个特定的窗口时产生的。 先谢谢你

使用
.text()
并返回
字符串,即:

public String getItem(String user) throws IOException{
    Document doc;
    doc = Jsoup.connect("http://steamcommunity.com/id/"+user+"/inventory").get();
    Element element = doc.getElementsByClass("hover_item_name").first();
    String text = element.text();
    return text;
}

您可以使用
。选择(字符串cssQuery)
方法:

doc.select(“h1”)
为您提供所有
h1
元素。
如果需要这些标记中的实际文本,请为每个
元素使用
.Text()
。 如果需要像
class
id
这样的属性,请在
元素上使用
.attr(String attributeKey)
,例如:

doc.getElementsByClass("hover_item_name").first().attr("id")
为您提供
“项目信息0\u项目名称”

但是,如果您需要在网站上执行单击操作,那么您不能使用JSoup执行该操作,因此JSoup是一个HTML解析器,而不是浏览器的替代品。Jsoup无法处理动态内容

但您可以做的是,首先在
h1
标记中刮取相关数据,然后分别发送一个新的
.post()


如果你想要一个真正的网络驱动程序,看看。

你是说“XYZ”->“XYZ”?是的,我想要“XYZ”,但它是在你点击特定窗口时生成的谢谢,问题是我想要处理动态内容,所以我想我会使用另一种不同于Jsoup的方法