如何在表中搜索值,然后在同一行中获取其他单元格值?

时间:2018-01-31 05:31:19

标签: java selenium selenium-webdriver

我想编写一个通用方法,我可以在表上搜索以找到特定的行。然后,我可以在同一行获取其他值。

<table>
   <tr>
      <td>Amazon</td>
      <td>$100.00</td>
   </tr>
   <tr>
      <td>Samsung</td>
      <td>$200.00</td>
   </tr>
</table>

例如,我将亚马逊传递给该方法。该方法将定位包含Amazon的行。并且,它将在同一行获得值= $ 100.00。

我如何使用Selenium Java做到这一点?感谢

2 个答案:

答案 0 :(得分:0)

以下方法可能会对您有所帮助。

public String find(WebDriver driver, String searchString){
    List<WebElemet> lstElements=driver.findElement(By.xpath("//table/tr/td");
       for(int i=0;i<lstElements.size();i++){
         if(lstElements.get(i).getText().equals(searchString)){
           return lstElments(i+1).getText();
      }
}

答案 1 :(得分:0)

您可以使用以下代码将表格中的值从亚马逊传递到str,然后您将获得相应的价值$ 100.00

   public String getValue(String str){
                        String xpath = "//td[text()='%s']";
                          String ele= String.format(xpath,str);
                            WebElement productname= driver.findElement(By.xpath(ele));
               return productname.findElement(By.xpath("/following-sibling::td")).getText(); 
    }