自动化浏览器交互

时间:2013-10-24 08:46:09

标签: python automation browser-automation

我需要通过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。

我也不关心我使用哪种浏览器。

2 个答案:

答案 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(这模拟鼠标和键盘输入)

http://www.autopy.org/