【问题标题】:Python - Click on multiple buttons using requestPython - 使用请求单击多个按钮
【发布时间】: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 吗?它通常用于提取(大量)数据,但你可以用它来提交表单,如果你想在这里使用你的代码,你必须放更多我认为这样我们才能解决问题

标签: python html request


【解决方案1】:

从外观上看,requests 并不关心您之前是否提交过表单,它只是像新请求一样处理每个帖子。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    • 2016-09-06
    • 1970-01-01
    相关资源
    最近更新 更多