如何使用带有 java 的 HtmlUnitDriver 查找与特定字符串匹配的 HTML 元素?

How to find HTML elements that match a certain string, using HtmlUnitDriver with java?

我会在一个页面中找到所有 HTML 元素,这些元素对某个字符串进行数学运算,例如, <form action=/ method="GET">,使用 HtmlUnitDriver (java)。

我要做的是一个 Web 应用程序,它接受两个参数的输入:

我有这段java代码:

HtmlUnitDriver browser = new HtmlUnitDriver(true);
browser.get(urlParamter);
List<WebElement> result = //find all HTML elements that match a certain pattern.

现在假设我要在此页面中查找一些元素:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <meta charset="utf-8" />
</head>
<body>
    <form id="form1">
    </form>

    <form id="form2">
    </form>

    <p class="test"></p>
    <p class="test"></p>
</body>
</html>

如果我搜索字符串 <form id="form1">,我会得到第一个表单元素,相反,如果我搜索 <p class="test">,我会得到两个段落元素。 可能吗? 我们将不胜感激所有建议。

只需尝试使用 findElements() 而不是 findElement() 并使 xpath 与您的文本匹配。示例如下。

List<WebElement> result = browser.findElements(By.xpath("//[contains(text(),'yourtext')]"));