【发布时间】:2016-12-07 09:43:05
【问题描述】:
我需要帮助:我需要使用请求库在某些网页上按顺序提交/单击 3 个不同的按钮。所以我需要点击button1,然后点击button2,然后点击最后一个button3。 Buttons1,2 不要重定向到另一个 URL,只需提交一些值,第三个按钮是关于填写表单并提交然后重定向到其他地方 - 我需要提交这 3 个按钮,然后获取重定向/响应 url。 Url 我使用的是一些移动运营商 web-API-gate,需要提交协议,发送电话号码和输入代码。
我不想使用 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 可以做到这一点吗?谢谢你
【问题讨论】:
-
你知道scrapy 吗?它通常用于提取(大量)数据,但你可以用它来提交表单,如果你想在这里使用你的代码,你必须放更多我认为这样我们才能解决问题