如何使用 Python 在 Selenium 中根据条件获取工作表中特定列的所有值?

selenium web driverautomation testingsoftware testing更新于 2026/2/14 10:07:17

我们可以使用 Selenium 在工作表中根据条件获取特定列的所有值。Excel 是一个以 .xlsx 扩展名保存的电子表格。一个 Excel 工作簿包含多个工作表,每个工作表由行和列组成。

在所有工作表中,当我们访问某个特定工作表时,该工作表被称为活动工作表。工作表中的每个单元格都有一个唯一的地址,该地址由行号和列号组合而成。

列号从字母 A 开始,行号从数字 1 开始。单元格可以包含多种类型的值,它们是工作表的主要组成部分。

要在 Selenium 中使用 Python 的 Excel,我们需要借助 OpenPyXL 库。该库负责在 Excel 上进行读写操作,扩展名包括 xlsx、xlsm、xltm、xltx。

要安装 OpenPyXL 库,我们必须执行命令 pip install openpyxl。这是因为 OpenPyXL 并非 Python 默认安装的。之后,我们应该在代码中 import openpyxl,然后就可以与 Excel 进行交互了。

要获取特定列的值,首先需要通过指定工作簿所在路径来加载整个工作簿。这可以通过 load_workbook() 方法实现。接下来,我们需要借助 active 方法在所有工作表中识别活动工作表。

接下来,我们需要使用 max_row 方法计算已占用行数。请注意,此方法需与工作表级对象配合使用。

此外,我们需要使用 max_column 方法,该方法用于计算已占用列的数量。请注意,此方法需与工作表级对象配合使用。

我们需要从 1 迭代到最大已占用行数,以遍历所有行。假设我们所需的值位于第 1 列。因此,我们需要检查该值是否存在于该列。

如果该值存在,我们需要从 1 迭代到最大已占用列数,以遍历所有列。

最后,为了检索特定列中的所有值,我们需要借助行号和列号以及 cell 方法(该方法接受行号和列号作为参数)。例如,要指向第 2 行第 3 列对应的单元格,我们需要使用 sheet.cell(row=2,column=3)。

语法

wrkbk = load_workbook("C:\work\SeleniumPython.xlsx")
# 标识活动工作表
sh = wrkbk.active
# 标识已占用的行数
sh.max_row
# 标识已占用的行数
sh.max_column

示例

代码实现,用于获取特定列的所有值。

import openpyxl
# 加载 Excel 文件及其路径
wrkbk = load_workbook("C:\work\SeleniumPython.xlsx")
# 获取活动工作表
sh = wrkbk.active
# 在控制台中打印已占用的最大行数
print(sh.max_row)
# 在控制台中打印已占用的最大列数
print(sh.max_column)
# 从 Excel 中获取所有值并遍历所有行
for r in range(1,max_row+1):
# 遍历所有列
for c in range(i,max_column+1):
# 检查第 1 行的值
if(sh.cell(row=1, column=c).value == "Tutorial":
# 获取所有值
print(sh.cell(row=r, column=c).value)

我们引用的 Excel 数据 −


相关文章