我会找到页面中所有与某个字符串相关的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">
,我将得到两个段落元素。这可能吗?
尝试使用与文本匹配的xpath使用findElements()而不是findElement()。在下面的例子。
List<WebElement> result = browser.findElements(By.xpath("//[contains(text(),'yourtext')]"));