Java 如何检查表上的特定TD是否包含所需的值?

Java 如何检查表上的特定TD是否包含所需的值?,java,xpath,selenium-webdriver,Java,Xpath,Selenium Webdriver,我是这个领域的新手,我想问一下,如果你们试图检查或断言表中包含“WaterBill”的具体内容,你们是如何做到的。 在模块列表视图中,我有一个列名“Bill Type”,我快速搜索了一个WaterBill,我希望得到所有Bill Type列的输出WaterBill。如何检查Bill Type列中的所有元素是否仅包含WaterBill?例如,我的xpath是 /html/body/div[1]/div/div[3]/div/div/div[1]/div/div[2]/div[2]/div/div[

我是这个领域的新手,我想问一下,如果你们试图检查或断言表中包含“WaterBill”的具体内容,你们是如何做到的。 在模块列表视图中,我有一个列名“Bill Type”,我快速搜索了一个WaterBill,我希望得到所有Bill Type列的输出WaterBill。如何检查Bill Type列中的所有元素是否仅包含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]

注意:listview上的每种票据类型都有不同的TR,并且在每个TR中,特定的水票据始终在TD[2]上

<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>
如果您的表有id,您可以通过

'//table[@id="xyz"]/descendant-or-self::td[contains(text(),"3")]'
为了选择第n列,您可以这样做

'//table[@border=1]/descendant-or-self::tr/child::td[position()=4 and contains(text(),"3")]'
在您的特定情况下,xpath将是

'//table[@border=1]/descendant-or-self::tr/child::td[position()=2 and contains(text(),"Waterbill")]'

*注:第二行/第三列将不被选择

假设您有表

<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>
如果您的表有id,您可以通过

'//table[@id="xyz"]/descendant-or-self::td[contains(text(),"3")]'
为了选择第n列,您可以这样做

'//table[@border=1]/descendant-or-self::tr/child::td[position()=4 and contains(text(),"3")]'
在您的特定情况下,xpath将是

'//table[@border=1]/descendant-or-self::tr/child::td[position()=2 and contains(text(),"Waterbill")]'
*注:第二行/3列将不会被选中。

int count=obj.findElements(By.xpath(“/html/body/div[1]/div/div[3]/div/div/div[1]/div/div[2]/div/div/div[3]/div/table/tbody/tr”)。size()//获取表中行数的计数

    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");
        }
    }
for(int i=0;iint count=obj.findElements(By.xpath(“/html/body/div[1]/div/div[3]/div/div[1]/div/div[2]/div[3]/div/table/tbody/tr”)。size();//获取表中的行数

    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");
        }
    }

for(int i=0;我感谢@sakhunzai!!我会让你知道它是否有效。:)谢谢@sakhunzai!!我会让你知道它是否有效。:)