假设页面上有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;
}