使用python请求模块在网页上单击“确定”按钮

时间:2014-10-15 14:48:32

标签: python html urllib3

我有一个可以使用网页界面管理的设备。

设备地址可以是:

http://10.18.25.25/restart

在网页中添加提交按钮:

<form action="/restart/restart" method="POST" name="restartForm">
                            <input type="submit" value="OK">
                        </form>

我正在尝试使用python模块请求来自动点击该网页上的按钮。

from urllib3 import requests
r = requests.get('http://10.18.25.25/restart', auth=('username', 'password'))

任何想法??

2 个答案:

答案 0 :(得分:3)

根据网站的不同,您可能会或可能无法通过对/ request / request的适当HTTP POST请求来模拟表单的操作,但在大多数实际示例中,我看到有其他Cookie和javascript,与形式并行,使得这种方法即使不是不可能也非常困难。

但是,请查看Selenium库,它提供了通过Python以编程方式操作浏览器的命令。我知道您的具体问题是针对请求模块,在您的情况下,这可能就足够了,但在一般情况下,Selenium可能值得一试。

答案 1 :(得分:2)

根据提供的信息,我假设您访问了http://10.18.25.25/restart/上有一个表单的页面,以便在提交时重新启动您的设备。

您定义的操作显示在表单上的URI /restart/restart中。所以在同一个URI上做一个请求:

r = requests.post('http://10.18.25.25/restart/restart', auth=('username', 'password'))