Python - 使用请求单击多个按钮

时间:2016-12-07 09:43:06

标签: python html request

我需要帮助:我需要使用请求库在一些网页上提交/点击3个不同的按钮。所以我需要点击button1,然后点击button2然后点击一个按钮3。 Buttons1,2不会重定向到另一个URL,只需提交一些值,第三个按钮是关于填写表单并提交然后重定向到其他地方 - 我需要提交这3个按钮,然后获取重定向/响应URL。我正在使用的网址是一些移动运营商网络API门,需要提交协议,发送电话号码和输入我得到的代码。

我不想使用Selenium,我不能使用浏览器,只是纯粹的代码。按钮在HTML代码中的某处,但它们具有特定的ID和名称,彼此不同。

我有一些东西(仅显示2个按钮):

given_url = something.com/?some_params...

post_data = {'Agree' : 'SubmitAgree'}
submit_agree = requests.post(url=given_url, data=post_data)

post_data = {'Send' : 'SendPhone'}
submit_phone = requests.post(url=given_url, data=post_data)
...


print(submit_phone.content)

我从回复得到的是无 - 状态代码是200,但没有内容,不知道为什么。我正在尝试使用cookie,它仍然是相同的。哪里有问题,有人可以帮帮我吗?没有Selenium可以做到这一点吗?谢谢

1 个答案:

答案 0 :(得分:0)

从它的外观来看,如果您之前提交了表单,请求并不关心它是否只是像新请求那样发布每个帖子。

我认为网站使用您的用户会话来存储以前的表单数据。所以你最好像我在评论中所说的那样使用scrapy,this可以提供帮助。