使用 Excel(OpenPyXl) - Selenium-Python 选择下拉值
Selecting dropdown values using Excel(OpenPyXl) - Selenium-Python
我有一个有多个下拉菜单的 Web 应用程序。为了输入其他文本字段的值,我从 excel 读取数据以符合数据驱动测试。但我想知道是否也可以从 excel 中读取下拉值?截至目前,我已经使用 Xpath 读取下拉值。
为了阅读 excel 我使用了以下代码
wk = openpyxl.load_workbook(FilePath.Test_Data_Path + 'testdata.xlsx')
sh = wk['user_details']
rows = sh.max_row
for i in range(2, rows + 1):
cell_name = sh.cell(row=i, column=1)
cell_email = sh.cell(row=i, column=2)
cell_product = sh.cell(row=i, column=3)
cell_make = sh.cell(row=i, column=4)
cell_model = sh.cell(row=i, column=5)
为了阅读下拉菜单,我使用了以下方法
dropdown=driver.find_elements_by_xpath(xpath)
以下代码可能会解决您的问题:
wk = openpyxl.load_workbook(FilePath.Test_Data_Path + 'testdata.xlsx')
sh = wk['user_details']
rows = sh.max_row
for i in range(2, rows + 1):
cell_name = sh.cell(row=i, column=1)
dropdown = driver.find_element_by_xpath('dropdown_xpath')
for option in dropdown.find_elements_by_tag_name('option'):
name = option.text
if name == cell_name:
option.click()
break
它将检查每个选项值与我们的 excel 值,如果匹配则选项将 select
我有一个有多个下拉菜单的 Web 应用程序。为了输入其他文本字段的值,我从 excel 读取数据以符合数据驱动测试。但我想知道是否也可以从 excel 中读取下拉值?截至目前,我已经使用 Xpath 读取下拉值。
为了阅读 excel 我使用了以下代码
wk = openpyxl.load_workbook(FilePath.Test_Data_Path + 'testdata.xlsx')
sh = wk['user_details']
rows = sh.max_row
for i in range(2, rows + 1):
cell_name = sh.cell(row=i, column=1)
cell_email = sh.cell(row=i, column=2)
cell_product = sh.cell(row=i, column=3)
cell_make = sh.cell(row=i, column=4)
cell_model = sh.cell(row=i, column=5)
为了阅读下拉菜单,我使用了以下方法
dropdown=driver.find_elements_by_xpath(xpath)
以下代码可能会解决您的问题:
wk = openpyxl.load_workbook(FilePath.Test_Data_Path + 'testdata.xlsx')
sh = wk['user_details']
rows = sh.max_row
for i in range(2, rows + 1):
cell_name = sh.cell(row=i, column=1)
dropdown = driver.find_element_by_xpath('dropdown_xpath')
for option in dropdown.find_elements_by_tag_name('option'):
name = option.text
if name == cell_name:
option.click()
break
它将检查每个选项值与我们的 excel 值,如果匹配则选项将 select