当前位置: 首页 > 面试题库 >

Selenium Webdriver-获取表数据

董凡
2023-03-14
问题内容

我想从UI中的表中获取数据。我知道使用“ tr”和“ td”遍历行和列。但是我桌子上的桌子是这样的:

<table>
 <tbody>
  <tr><td>data</td><th>data</th><td>data</td><td>data</td></tr>
  <tr><td>data</td><th>data</th><td>data</td><td>data</td></tr>
  <tr><td>data</td><th>data</th><td>data</td><td>data</td></tr>
 </tbody>
</table>

如何使我的代码通用,以便可以处理中间出现的“ TH”。目前,我正在使用此代码:

// Grab the table
WebElement table = driver.findElement(By.id(searchResultsGrid));

// Now get all the TR elements from the table
List<WebElement> allRows = table.findElements(By.tagName("tr"));
// And iterate over them, getting the cells
for (WebElement row : allRows) {
 List<WebElement> cells = row.findElements(By.tagName("td"));
 for (WebElement cell : cells) {
 // And so on
 }
}

问题答案:

您可以查找所有tr元素的子元素,而无需区分td和th。所以代替

List<WebElement> cells = row.findElements(By.tagName("td"));

我会用

List<WebElement> cells = row.findElements(By.xpath("./*"));


 类似资料:
  • 问题陈述:我试图在网页上获取span标记的值。*该网页上有多个span标记,其中我需要4个。

  • 操作步骤 1.通过 tableID 实例化一个 TableObject 对象,操作该对象即相当于操作对应的数据表 let MyTableObject = new BaaS.TableObject(tableID) 参数说明 参数 类型 必填 说明 tableID Number 是 数据表 ID 2.指定 recordID 执行获取相应数据项操作 MyTableObject.get(recordID

  • {% tabs first=”SDK 1.1.0 及以上版本”, second=”SDK 1.1.0 以下版本” %} {% content “first” %} SDK 1.1.0 及以上版本 操作步骤 1.通过 tableID 实例化一个 TableObject 对象,操作该对象即相当于操作对应的数据表 let MyTableObject = new wx.BaaS.TableObject(t

  • 我想从UI中的表中提取数据。我知道如何使用“tr”和“td”遍历行和列。但我的桌子是这样的: 如何使代码通用,以便处理中间出现的“TH”。目前,我正在使用以下代码:

  • 我正在使用Selenium(Java版本)测试一个基于OpenLayers的API。 我想测试一个使用的功能。控制修改功能。我想单击绘制的特征(SVG),然后拖动并检查它们是否存在、可见或隐藏。 我已经画了一个多边形,并且选择了它。见下图: 这些SVG元素的HTML如下所示: 假设我想选择红点。 我试过: 但是它总是返回一个空列表。 我做错了什么?有人能帮我吗? 多谢了。 编辑1-功能:垂直显示可

  • 问题内容: 我已经搜索了许多网站,但没有遇到任何从单个数据库获取表名的细节的代码或教程。 假设我有4个数据库,并且我想要数据库中所有表的名称,我可以使用什么查询? 问题答案: