我是这个领域的新手,如果你想在桌面上检查或断言具体包含" WaterBill"我想问你们这些人是怎么做的。例如。 在模块列表视图中,我有列名称" Bill Type"我快速搜索一个WaterBill,我希望所有Bill Type列都有输出WaterBill。如何检查“帐单类型”列中的所有元素是否仅包含WaterBill?我的xpath例如是
/html/body/div[1]/div/div[3]/div/div/div[1]/div/div[2]/div[2]/div/div[3]/div/table/tbody/tr[1]/td[1]
注意:列表视图中的每个帐单类型都有不同的TR,并且在每个TR中,特定的Waterbill总是在TD上[2]
答案 0 :(得分:0)
假设你有桌子
<table border="1" >
<tr>
<td>Table Cell</td>
<td>Waterbill</td>
<td>Table Cell</td>
<td>Table Cell</td>
<td>Table Cell</td>
</tr>
<tr>
<td>Table Cell</td>
<td>Table Cell</td>
<td>Waterbill</td>
<td>Table Cell</td>
<td>Table Cell</td>
</tr>
<tr>
<td>Table Cell</td>
<td>Table Cell</td>
<td>Table Cell</td>
<td>3</td>
<td>Table Cell</td>
</tr>
</table>
您可以使用xpath通过跟踪xpath
来查找值td
的{{1}}
3
如果你的表有id,你可以通过
过滤掉它'//table/descendant-or-self::td[contains(text(),"3")]'
用于选择第n列,你会这样做
'//table[@id="xyz"]/descendant-or-self::td[contains(text(),"3")]'
在您的特定情况下,xpath将是
'//table[@border=1]/descendant-or-self::tr/child::td[position()=4 and contains(text(),"3")]'
*注意不会选择第2行/第3列
答案 1 :(得分:0)
int count = obj.findElements(By.xpath(&#34; / html / body / div [1] / div / div [3] / div / div / div [1] / div / div [2] / DIV [2] / DIV / DIV [3] / DIV /表/ tbody的/ TR&#34;))尺寸(); //得到没有的数。表中的行
for(int i=0;i<=count;i++) //loop as per the count of table
{
String a=obj.findElement(By.xpath("/html/body/div[1]/div/div[3]/div/div/div[1]/div/div[2]/div[2]/div/div[3]/div/table/tbody/tr["+i+"]/td[2]")).getText(); //Retrieving the data from the Td of table in to a string
if(a.contains("WaterBill"))
{
System.out.println("contains WaterBill");
}
else
{
System.out.println("does not contains WaterBill");
}
}