0
目标:从Excel中获取姓名和姓氏的列表,并使用多个Firefox页面将其放入联机注册表单,并且只有一个名字和一个姓氏每页。在Python中的多个Firefox页面上提取Excel数据,Selenium
任务:
- 打开Firefox网页
- 填写与Excel,细胞 'A2' “名” 文本框中= “鲍勃”
- “姓” 文本框中填写与Excel ,单元格'B2'=“Apple”
- 单击“提交”。 - 登录结束1 -
- 打开一个新的Firefox网页
- 填写与Excel“名”文本框中,细胞“A3” =“琳达”
- “姓”文本框中填写与Excel,单元格'B3'=“橙色”
单击“提交”。
for x in range(2): from selenium import webdriver browser=webdriver.Firefox() browser.get('The Website') import openpyxl wb=openpyxl.load_workbook('Names.xlsx') sheet=wb.get_sheet_by_name('Full Names') tuple(sheet['A2':'B3']) #I'm guessing about this next part: for rowOfCellObjects in sheet['A2':'B3']: for cellObj in rowOfCellObjects: browser.find_element_by_id('first_name').send_keys(????) browser.find_element_by_id('last_name').send_keys(????)
使用Python 3.6.2。 Excel 2016.Windows 10 x64。硒。 请在回答中把它弄糊涂,我很新的编码:)。谢谢!!
嗯,你正在打印()声明?如果你使用depth = len(data [“bill_fname”]),接着是print(深度),它应该返回一个整数。解决这个问题的方法是,如果列的深度是静态的,只需手动设置depth = some_number。此外,对于标题= [],请确保将您放置在该列表中的标题确定为电子表格中的标题。一旦你从工作表中获得了这些头文件,你就需要将len(data [“”])更改为 –
谢谢!这更接近了。 'first_name'只是我元素ID的占位符。元素ID是('bill_fname')#第一名称字段和('bill_lname')#last名称字段。我在任何地方都有第一个ID,第一个ID是'first_name',第二个ID是'last_name'。 (并按建议使用xpaths) 它返回TypeError:'numpy.float64'类型的对象没有len(),它将我的整个“1”行从csv文件打印到第一个名称字段中。 当我在深度行中尝试复数'bill_fnames'时发生KeyError,并将其更改为'bill_fname'以获得上述错误。 –
我还没有写出打印报告,没有。 –