我有一些数据在 Excel 文件中。我想要转到 Excel 文件,然后搜索文本(取自网站表),然后获取该行的所有数据,这些数据将用于在浏览器中填充表格。
示例:我希望 selenium 搜索 ST0003 然后获取名称,该学生 ID 的父亲姓名,以便我可以在大学网站中填写此信息。
我想我会从网站获取一个 Student_id,然后将其粘贴到现有的 Excel 工作表中,我将在其中使用 VLOOKUP 填写其他详细信息,但是这种方法看起来不太好。
你不需要Selenium来搜索Excel文件。 Selenium 主要用于自动化网页浏览器。 你可以使用 Python 的
openpyxl
库来实现。
以下是如何使用
openpyxl
在 Excel 文件中搜索文本并提取行数据的示例:
import openpyxl
def search_excel(file_path, search_term):
"""
在 Excel 文件中搜索文本并返回匹配行的所有数据。
Args:
file_path: Excel 文件的路径。
search_term: 要搜索的文本。
Returns:
包含匹配行数据的列表列表,如果没有找到匹配项,则返回 None。
"""
wb = openpyxl.load_workbook(file_path)
sheet = wb.active
matching_rows = []
for row in sheet.iter_rows():
for cell in row:
if cell.value == search_term:
matching_rows.append([cell.value for cell in row])
return matching_rows if matching_rows else None
# 示例用法
file_path = "student_data.xlsx" # 替换为你的 Excel 文件路径
search_term = "ST0003"
matching_rows = search_excel(file_path, search_term)
if matching_rows:
for row in matching_rows:
print(f"姓名: {row[1]}, 父亲姓名: {row[2]}") # 根据你的 Excel 表格结构调整列索引
else:
print(f"未找到 {search_term}。")
这个脚本做了以下事情:
-
导入
openpyxl
库。 -
定义了一个名为
search_excel
的函数: - 它接受 Excel 文件路径和要搜索的文本作为参数。
-
它使用
openpyxl.load_workbook
打开 Excel 文件。 - 它迭代工作表中的每一行和每个单元格。
-
如果找到匹配的文本,它会将整行的数据添加到
matching_rows
列表中。 -
最后,它返回
matching_rows
列表,如果没有找到匹配项,则返回None
。 -
使用示例数据调用
search_excel
函数。 - 打印找到的匹配行的姓名和父亲姓名。
你需要安装
openpyxl
库:
pip install openpyxl
请注意:
-
你需要将
file_path
变量更新为你的 Excel 文件的实际路径。 - 你可能需要根据你的 Excel 文件的结构调整打印语句中的列索引。
这个脚本演示了如何在 Excel 文件中搜索特定文本并提取相关数据。 你可以将此代码集成到你的 Selenium 脚本中,以使用从 Excel 文件中检索到的数据填充网页表单。
标签:python,selenium-webdriver,browser-automation From: 78777450