Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Testing 如何使用Xpath Selenium获取所有值_Testing_Selenium_Xpath_Cucumber - Fatal编程技术网

Testing 如何使用Xpath Selenium获取所有值

Testing 如何使用Xpath Selenium获取所有值,testing,selenium,xpath,cucumber,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> <t

我想得到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());

1.
2.
3.
4.
5.
6.
7.
8.
9
10
11
12
网络元素测试;
test=driver.findElement(按.xpath(“./”+值));//此处/*/*/td[5]作为参数传递
System.out.println(“值:“+test.getText());
我尝试了
/*/*/td[3]
,但它只给出了第一个值

谢谢

//tr/td[3]

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

您可以使用以下代码获取属于第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());

 }
List allRows=driver.findElements(By.xpath(“\\table\\tr”);

对于(int i=0;iSorry),我刚刚更新了我的代码。但我只是得到了第一个元素。@Jay您使用的是
findElement
,它返回一个元素。您应该使用
findElements
来获得元素列表。哦,好吧,让我试试。谢谢!我收到一个错误“类型不匹配:无法从列表转换为WebElement”我不懂Java,但我相信你可以找到很多迭代
列表的例子。