gpt4 book ai didi

ruby - 如何遍历一个表?

转载 作者:太空宇宙 更新时间:2023-11-03 16:43:55 24 4
gpt4 key购买 nike

我有一个结构如下的表:

<table>
<tbody>
<tr>
<td> Name: </td>
<td> Juan </td>
</tr>
<tr>
<td> Name: </td>
<td> Alex </td>
</tr>
</tbody>

我想遍历 tr 中的第二个 td 并获取名称 (Juan, Alex)我写了下面的代码来做到这一点:

   driver.find_elements(:xpath => "//table/tbody/tr/td[2]").each do |r|
puts r.text
end

它不会产生任何错误,没有unable to find element。任何事物。它只是跳过这些代码行。它也没有打印出任何空白。我在 do 循环中对它进行了测试,但没有到达那里。我知道 xpath 是正确的,我检查了 Firebug 。我在这里做错了什么?

最佳答案

您可以在表数据和表行的 XPath 上使用 for 循环轻松地遍历 WebTable。查看示例程序 -

public class WebTable {
WebDriver driver;

@BeforeTest
public void openWebSite() {

// Open Raddif Gainer page
driver = new FirefoxDriver();
driver.get("http://money.rediff.com/gainers/bse/daily/groupa?src=gain_lose");
driver.manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
}

@Test
public void CountRowsTest() {

// Store all rows in the List
List<WebElement> allRows = driver.findElements(By
.xpath("//*[@id='leftcontainer']/table/tbody/tr"));

// To get the all present rows in the Table
System.out.println("Totoal rows are -- " + allRows.size());
}

@Test
public void printallrowsTest() {

// Store all rows in the List
List<WebElement> allRows = driver.findElements(By
.xpath("//*[@id='leftcontainer']/table/tbody/tr"));

// To Print the whole content of the table
for (int i = 0; i < allRows.size(); i++) {
System.out.println(allRows.get(i).getText());
}
}

更多细节,你可以引用这个精彩的教程:

http://www.seleniumbix.com/#!handle-webtables-in-selenium/c329

关于ruby - 如何遍历一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38469915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com