下面是HTML结构。 我想将所有值存储到哈希图中。 我将遍历行和列。 当遍历列i时,将识别列中存在的元素并以不同的方式处理它。 它将工作:findElements(By.xpath(“ label | input | select”)
<tr>
<td><label>hdash</label> </td>
<td> <input type='text'/></td>
<td><input type='select'/></td>
.
.
.
</tr>
列出RatesRows = ratesTbl.findElements(By.tagName(“ tr”)); 对于所有行{
列出RatesColumns = RatesRows.get(i).findElements(By.tagName(“ td”)); 对于所有列{ 列出RatesdataColumn = RatesColumns.get(j).findElements(By.xpath(“ label | input | select”))); }
}
答案 0 :(得分:0)
不可能以这种方式传递xpath。相反,您可以从td
获取子元素RatesdataColumn = RatesColumns.get(j).findElements(By.xpath(".//*");
然后您可以根据用例使用元素
如果您的HTML就是这种方式
<tr>
<td><label>hdash</label> </td>
<td> <input type='text'/></td>
<td><input type='select'/></td>
.
.
.
</tr>
在第一次迭代中,您将从<label>hdash</label>
中获得RatesdataColumn = RatesColumns.get(j).findElements(By.xpath(".//*");
如果要将数据存储在Hashmap中,只需使用getText方法
for(WebElement childElement : RatesdataColumn){
hashMap.put("<<Key Value>>", childElement.getText());
}