尽管这个线程上的一般性建议是相当好的,它是相当广泛的。我自己也解决过这个问题,尽管我发布了一个功能齐全的示例,但还是被一位版主删除了,尽管“理论上是在回答问题”。在
因此,对于希望解决此问题的其他人,您需要执行以下操作:
使用Selenium和openpyxl,这是两个相对简单的模块,可以完美地执行这项任务。在
您将使用selenium打开您的web页面,并检索您希望填充的相关html元素。如果您不太熟悉HTML,我建议使用xPath查找元素。Xpath finder google chrome插件将使这项工作变得非常容易。在
在驱动程序。获取()和driver.find_元素()将是您需要的函数。在
我们将使用openpyxl来处理我们的excel表load\u workbook()'将加载工作簿。我们将使用'sheet=工作簿.active'函数从工作簿中访问工作表。在
我们现在有了打开我们的网站和选择excel表格的功能。在
现在我们需要将单元格值赋给变量,这样我们就可以填充HTML表单了。我们为工作簿中的每一列分配一个变量。因此,如果A列包含名字,我们可以通过写'FNAME=sheet['A']的变量将其赋值。现在我们有了一种引用列中单元格的方法,我们可以开始将数据输入到HTML表单中。在
我们使用Selenium中的.send_keys()函数填充表单。在first_name.send_keys(FNAME.value)
值确保显示正确的值,因为有时selenium会打印单元格函数而不是值,我们不希望发生这种情况。在
现在我们可以从excel表将值打印到HTML表单中,我们需要遍历每一行。我们用一个简单的while循环来实现:
^{pr2}$
一旦循环发生50次,驱动程序将退出,关闭浏览器并停止脚本。在
在尝试自动执行此操作时,您可能会发现其他一些有用的东西:driver.back()
time.sleep()
如果你想看到一个实际的工作例子,请随时下午我,因为显然张贴在这里没有助于讨论。在