如何使用Xpath Selenium获取所有值

时间:2013-12-17 17:41:38

标签: testing selenium xpath cucumber

我想获得td [3]的所有值。我有以下代码

<tr>
    <td>1</td>
    <td>2</td>
    <td>3</td>
</tr>
<tr>
    <td>4</td>
    <td>5</td>
    <td>6</td>
</tr>
<tr>
    <td>7</td>
    <td>8</td>
    <td>9</td>
</tr>
<tr>
    <td>10</td>
    <td>11</td>
    <td>12</td>
</tr>
WebElement test;
test=driver.findElement(By.xpath("./" +value)); // here /*/*/td[5] is passed as param 
System.out.println("Values : " +test.getText());

我试过了/*/*/td[3],但它只给了我第一个值。

谢谢!

2 个答案:

答案 0 :(得分:0)

//tr/td[3]

返回每个第三个td元素,tr元素的子元素。

答案 1 :(得分:0)

您可以使用以下代码获取属于第3列的所有数据:

 List <WebElement> allRows = driver.findElements(By.xpath("\\table\\tr"));

 for(int i=0; i<allRows.size(); i++){

      WebElement col3Element = allRows.get(i).findElement(By.xpath("\td[3]"));

      System.out.println(" Row " + i "Columnn 3 data: " + col3Element.getText());

 }