我想发送字符串" abcd"一次进入搜索框,然后想要点击搜索按钮,但find_element_by_id().send_keys()
逐个字符地发送并花费更多时间来搜索字符串。
from openpyxl import load_workbook
from selenium import webdriver
path = raw_input()
def retrieve(path):
wb = load_workbook(path)
ws = wb.active
alist, blist, clist, dlist = []
for row in ws.iter_rows('A{}:A{}'.format(ws.min_row,ws.max_row)):
for cell in row:
alist.append(cell.value)
for row in ws.iter_rows('B{}:B{}'.format(ws.min_row,ws.max_row)):
for cell in row:
blist.append(cell.value)
for row in ws.iter_rows('C{}:C{}'.format(ws.min_row,ws.max_row)):
for cell in row:
clist.append(cell.value)
for row in ws.iter_rows('D{}:D{}'.format(ws.min_row,ws.max_row)):
for cell in row:
dlist.append(cell.value)
driver = webdriver.Ie()
driver.get("https://www.google.co.in/")
for i in range(0,alist.__len__()):
driver.find_element_by_id("lst-ib").send_keys(alist[i])
driver.find_element_by_id("_fZl").submit()
retrieve(path)
我的Excel工作表将有4列,我需要从A1单元格中获取字符串并在我的应用程序中的搜索框中搜索,然后从b1,c1,d1单元格填充数据,然后搜索A2单元格... ..
你可以告诉我如何一次发送整个字符串。 提前致谢答案 0 :(得分:0)
请尝试以下方法 由于你的示例代码没有显示B,C,D值的含义,我想加入它。
# Get Data from all rows
for row in ws.rows:
A_value = row[:1][0].value
# Join columen B,C,D values without spacing
BCD_value = ''.join(cell.value for cell in row[1:5])
print('A_value=%s, BCD_value=%s' % (A_value, BCD_value))
# Do your work with this rows Data
# ...
driver.find_element_by_id("lst-ib").send_keys( A_value )
使用Python测试:3.4.2 - openpyxl:2.4.1
如果这对您有用,请回来并将您的问题标记为已回答,或者为什么不对其进行评论。