如何使用 Python 和 Selenium 获取表格中特定行的值?

selenium web driverautomation testingsoftware testing

我们可以使用 Selenium 获取表格中特定行的值。表格的行在 HTML 代码中用 <tr> 标签表示。每行中的数据都包含在 <td> 标签中。因此,<td> 标签的父标签始终是 <tr> 标签。

逻辑是这样的:首先获取所有行,我们将使用 XPath 定位器,然后使用 `find_elements_by_xpath` 方法。这将返回行列表。接下来,我们需要借助 `len` 方法计算列表的大小。

通常情况下,表格的第一行不会出现 `<td>` 标签。取而代之的是 `<th>` 标签。

语法

driver.find_elements_by_xpath("//table/tbody/tr[2]/td")

表格标题的 HTML 代码片段如下所示 &-;

示例

获取第二行数据的代码实现。

from selenium import webdriver
#浏览器暴露可执行文件
#通过 Selenium 测试,我们将调用该可执行文件,然后
#调用实际的浏览器
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
#最大化浏览器窗口
driver.maximize_window()
#使用 get 方法启动 URL
driver.get("https://www.tutorialspoint.com/plsql/plsql_basic_syntax.htm")
#刷新浏览器
driver.refresh()
#从第 2 行中识别出 <td> 标签
rwdata = driver.find_elements_by_xpath("//table/tbody/tr[2]/td")
#使用 len 方法获取列表的大小
print(len(rwdata))
for r in rwdata:
  print(r.text)
#关闭浏览器
driver.close()

相关文章