JSoup能否根据传入的文本参数匹配获取对应的HTML标签元素?
结论
该需求可以通过JSoup实现,你可以利用JSoup的CSS属性选择器,匹配对应属性值为Open的input标签即可获取目标元素的完整内容。
实现步骤
你可以选择匹配placeholder属性值为Open,也可以选择匹配type属性值为open,两种方式都可以定位到目标输入框,以下是完整示例代码:
import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; public class GetTargetInput { public static void main(String[] args) { // 你的页面HTML内容 String htmlContent = "<input id=\"input\" type=\"search\" autocomplete=\"off\" role=\"combobox\" placeholder=\"Search\">\n" + "<input id=\"input\" type=\"open\" autocomplete=\"off\" role=\"combobox\" placeholder=\"Open\">\n" + "<input id=\"input\" type=\"close\" autocomplete=\"off\" role=\"combobox\" placeholder=\"Close\">"; // 解析HTML生成Document对象 Document document = Jsoup.parse(htmlContent); // 方式1:通过placeholder属性匹配 Element target = document.selectFirst("input[placeholder='Open']"); // 方式2:通过type属性匹配,二选一即可 // Element target = document.selectFirst("input[type='open']"); if (target != null) { // 输出完整标签内容 System.out.println(target.outerHtml()); } } }
运行输出
执行上述代码后,输出结果完全符合你的预期:
<input id="input" type="open" autocomplete="off" role="combobox" placeholder="Open">
内容的提问来源于stack exchange,提问作者Anoop
相关产品推荐
相关产品推荐

