将存储在 Excel 中的 Xpath 值放入 Selenium 循环中

Make the Xpath values stored in Excel into Selenium loop

所有 Xpath 值都输入到 Excel 的 E 列中。
在 E 列中找到 Xpath,并将在 D 列中输入的值输入 Chrome.
我怎样才能使这段代码成为一个循环。

load_wb = load_workbook(filename, data_only=True)
load_ws = load_wb['apple']

elem=driver.find_element_by_xpath(load_ws['E2'].value)
elem.send_keys(Keys.CONTROL+'a',Keys.DELETE)
elem.send_keys(load_ws['D2'].value)
elem=driver.find_element_by_xpath(load_ws['E3'].value)
elem.send_keys(Keys.CONTROL+'a',Keys.DELETE)
elem.send_keys(load_ws['D3'].value)
elem=driver.find_element_by_xpath(load_ws['E4'].value)
elem.send_keys(Keys.CONTROL+'a',Keys.DELETE)
elem.send_keys(load_ws['D4'].value)
elem=driver.find_element_by_xpath(load_ws['E5'].value)
elem.send_keys(Keys.CONTROL+'a',Keys.DELETE)
elem.send_keys(load_ws['D5'].value)
elem=driver.find_element_by_xpath(load_ws['E6'].value)
elem.send_keys(Keys.CONTROL+'a',Keys.DELETE)
elem.send_keys(load_ws['D6'].value)
elem=driver.find_element_by_xpath(load_ws['E7'].value)
elem.send_keys(Keys.CONTROL+'a',Keys.DELETE)
elem.send_keys(load_ws['D7'].value)
elem=driver.find_element_by_xpath(load_ws['E8'].value)
elem.send_keys(Keys.CONTROL+'a',Keys.DELETE)
elem.send_keys(load_ws['D8'].value)`

如果 Excel table 中有 7 行,您的代码可以简单地重写如下:

load_wb = load_workbook(filename, data_only=True)
load_ws = load_wb['apple']

for i in range(2,9):
    elem=driver.find_element_by_xpath(load_ws['E' + str(i)].value)
    elem.send_keys(Keys.CONTROL+'a',Keys.DELETE)
    elem.send_keys(load_ws['D'+ str(i)].value)

如果行数不同或可能发生变化,您将必须相应地更改 for 循环中使用的范围。

使用 range 创建 for 循环,然后使用格式调用 i :

load_wb = load_workbook(filename, data_only=True)
load_ws = load_wb['apple']

for i in range(2,9):
    elem=driver.find_element_by_xpath(load_ws[f'E{i}'].value)
    elem.send_keys(Keys.CONTROL+'a',Keys.DELETE)
    elem.send_keys(load_ws[f'D{i}'].value)