如何使用带有 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 应用程序,它接受两个参数的输入:
- url 搜索
- 一个模式
我有这段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')]"));
我会在一个页面中找到所有 HTML 元素,这些元素对某个字符串进行数学运算,例如,
<form action=/ method="GET">
,使用 HtmlUnitDriver (java)。
我要做的是一个 Web 应用程序,它接受两个参数的输入:
- url 搜索
- 一个模式
我有这段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')]"));