下面是一个例子的代码:
<div id="productOrderContainer">
<table class="table gradient myPage">
所以这个表中productOrderContainer是有几列,这取决于几件事情将有几行,所有有几个列。 一个例子是:
我想要做的是例如获得此表的第一行。 (行具有的ID,例如: <td rowspan="1">
然后再次例如在此rowspan的寻找在一个特定的一个特定的值<div>
因此,在psudo码是什么我想说的是:
给我的表,我拿的第n行,让我的值<div id='something'>
你可以尝试以下
int index = 0;
WebElement baseTable = driver.findElement(By.className("table gradient myPage"));
List<WebElement> tableRows = baseTable.findElements(By.tagName("tr"));
tableRows.get(index).getText();
您还可以重复tablerows执行任何你想要的功能。
你要:
int rowNumber=...;
string value = driver.findElement(By.xpath("//div[@id='productOrderContainer']/table/tbody/tr[" + rowNumber +"]/div[id='something']")).getText();
换句话说,找到<DIV>
id为“东西”的范围内包含rowNumber
日<TR>
中的<TABLE>
其中包含的<DIV>
id为“productOrderContainer”,然后得到其文本值(这是什么我相信你的意思“帮我在值<div id='something'>
”
如果您要访问的表格单元格
WebElement thirdCell = driver.findElement(By.Xpath("//table/tbody/tr[2]/td[1]"));
如果你想访问嵌套的表格单元格 -
WebElement thirdCell = driver.findElement(By.Xpath("//table/tbody/tr[2]/td[2]"+//table/tbody/tr[1]/td[2]));
欲了解更多详情,请访问该教程
那么以前,我用你能找到里面的方法WebElement
:
WebElement baseTable = driver.findElement(By.tagName("table"));
WebElement tableRow = baseTable.findElement(By.xpath("//tr[2]")); //should be the third row
webElement cellIneed = tableRow.findElement(By.xpath("//td[2]"));
String valueIneed = cellIneed.getText();
请注意,我发现里面发现了WebElement
实例。
以上是Java代码,假设driver
变量是健康的实例WebDriver
下面的代码允许您指定的行/列数,并得到所产生的单元格的值 :
WebDriver driver = new ChromeDriver();
WebElement base = driver.findElement(By.className("Table"));
tableRows = base.findElements(By.tagName("tr"));
List<WebElement> tableCols = tableRows.get([ROW_NUM]).findElements(By.tagName("td"));
String cellValue = tableCols.get([COL_NUM]).getText();