我需要通过html表单上传数百个文件,以便最终在服务器上。我没有其他选择,必须通过表格。
我尝试使用python做错了但是我做错了,当我尝试通过Web界面打开它们时文件是空的。我也试过通过firefox的TamperData进行重放,在这种情况下文件也被错误地上传了。
因此,我有兴趣通过自动化浏览器来探索上传文件的想法。我需要做的就是:
for file in files:
open a page
click on the browse button
select a file
click the upload button
那么我可以用什么软件/库来做到这一点?我不一定需要使用python这样做,因为我将来再也不需要这样做了。我只需要通过任何可能的方式获取文件。
我可以访问Windows 7,Mac Os X和Suse Linux。
我也不关心我使用哪种浏览器。
答案 0 :(得分:4)
Splinter适合这种事情:
http://splinter.cobrateam.info/
您可以执行以下操作:
from splinter import Browser
with Browser('firefox') as browser:
browser.visit('http://yourwebsite.com')
browser.find_by_name('element_name').click()
do some other stuff...
您只需要在页面上找到要与之互动的元素的名称或ID
答案 1 :(得分:1)
请查看硒: 它是一个自动浏览器工具(表现得像真实用户)
http://selenium-python.readthedocs.org/en/latest/
如果你更喜欢技术类型并且理解html编写你自己的python代码只能用httplib2将文件发送到服务器
https://code.google.com/p/httplib2/
自动点击器尝试autopy(这模拟鼠标和键盘输入)