JSoup -基于文本获取标签



假设页面上有3个文本框,定义如下:

<input id="input" type="search" autocomplete="off" role="combobox" placeholder="Search">
<input id="input" type="open" autocomplete="off" role="combobox" placeholder="Open">
<input id="input" type="close" autocomplete="off" role="combobox" placeholder="Close">

我将值'Open'作为参数传递给JSoup, JSoup应该返回如下数据(这是中间文本框的详细信息)。

<input id="input" type="open" autocomplete="off" role="combobox" placeholder="Open">

JSoup能做到吗?

谢谢

安普

您需要根据属性选择标签:

document.select("input[placeholder=Open]")

乌利希期刊指南:选择标签的属性值为"Open"您需要遍历所有属性值:

List<Element> result = document.select("input").stream()
.filter(input -> hasAttrValue(input, "Open"))
.collect(Collectors.toList());

hasAttrValue方法:

private boolean hasAttrValue(Element element, String targetValue) {
for (Attribute attribute : element.attributes()) {
if (targetValue.equals(attribute.getValue())) {
return true;
}
}
return false;
}

相关内容

  • 没有找到相关文章