到目前为止,我的情况如下:
Selenium和python脚本基本上可以启动浏览器,选择所需的字段,输入文本并单击submit。
我想做什么:
如上所述,我希望python脚本循环遍历excel表,并为每个字段插入一个单元格值,而不是基于硬编码文本输入文本。
excel文件看起来像(名字、姓氏、年龄):
鲍勃·史密斯50
乔史密斯60
我目前所拥有的:import xlrd
workbook = xlrd.open_workbook("people.xls")
worksheet = workbook.sheet_by_name('Sheet1')
从这里我要选择第一个单元格(bob)并执行以下操作:fname = browser.find_element_by_id("id-of-field")
fname.send_keys(fname_text + Keys.RETURN)
其中fname_文本将是工作表上的单元格值。我可以通过fname_text=worksheet.cell_value(1,1)手动完成,但这显然不符合我的主要目的。它确实有效,只是为了测试。
然后这个(等等):lname = browser.find_element_by_id("id-of-field")
lname.send_keys(lname_text + Keys.RETURN)
数据将始终处于相同的顺序,并且将始终以相同的顺序填写表单。
这是我的selenium代码行:(根据以下建议)comment = browser.find_element_by_id("x-widget-1-input")
comment.send_keys(cmt + Keys.RETURN)
它出错并显示以下错误:builtins.type error:不支持的操作数类型为+:“Cell”和“str”
所以我改成:comment = browser.find_element_by_id("x-widget-1-input")
comment.send_keys(str(cmt) + Keys.RETURN)
在“注释”框中键入以下内容:text:'this is my 2nd comment'
它应该显示这是我的第二个评论。
仍然需要一些格式化的爱。