"Clicking" 带有请求的按钮
"Clicking" button with requests
我有这个小网站,我想用请求库填写表格。问题是我在填写表单数据并按下按钮时无法到达下一个站点(Enter 不起作用)。
重要的是我不能通过某种点击机器人来完成。这需要完成,这样我就可以 运行 在没有图形的情况下。
info = {'name':'JohnJohn',
'message':'XXX',
'sign':"XXX",
'step':'1'}
前三个条目 name、message、sign 是文本区域,step 是我认为的按钮。
r = requests.get(url)
r = requests.post(url, data=info)
print(r.text)
当我通过 chrome 手动发送请求时,表单数据如下所示:
- 姓名:约翰约翰
- 留言:XXX
- 签名:XXX
- 步骤:1
按钮元素如下所示:
<td colspan="2" style="text-align: center;">
<input name="step" type="hidden" value="1">
<button id="button" type="button" onclick="myClick();"
style="background-color: #ef4023; width: 80px; font-face: times; font-size: 14pt;">
Wyślij
</button>
</td>
如果我手动执行此操作,下一个站点具有相同的地址。
正如您从发布的截图中看到的那样,单击按钮会触发一些 JavaScript 代码,即名为 myClick()
的方法。
使用 pythons 请求库点击这个东西并不简单。尝试找出 myClick()
内部发生的事情可能会更幸运。我的猜测是,在某个时候,将向 HTTP 端点发出 POST
请求。如果你能解决这个问题,你可以将它翻译成你的 python 代码。
如果这不起作用,另一种选择是使用 Selenium/PhantomJS 之类的东西,它使您能够拥有一个真正的、无头的和可编写脚本的浏览器。使用这样的工具,您实际上可以让它填写表格并单击按钮。您可以看看这个 so answer,因为它向您展示了如何使用 python.
中的 Selenium+PhantomJS
请确保不要通过垃圾论坛滥用此类方法或[在此处插入非法或其他滥用行为 activity]。
在这种情况下,当您需要伪造脚本化按钮的请求时,不去猜测 JS 的逻辑可能更容易,而是执行物理点击并查看 chrome devtools 的网络嗅探器,它可以为您提供一个简单的请求,反过来,可以在 Python
中轻松伪造
我有这个小网站,我想用请求库填写表格。问题是我在填写表单数据并按下按钮时无法到达下一个站点(Enter 不起作用)。
重要的是我不能通过某种点击机器人来完成。这需要完成,这样我就可以 运行 在没有图形的情况下。
info = {'name':'JohnJohn',
'message':'XXX',
'sign':"XXX",
'step':'1'}
前三个条目 name、message、sign 是文本区域,step 是我认为的按钮。
r = requests.get(url)
r = requests.post(url, data=info)
print(r.text)
当我通过 chrome 手动发送请求时,表单数据如下所示:
- 姓名:约翰约翰
- 留言:XXX
- 签名:XXX
- 步骤:1
按钮元素如下所示:
<td colspan="2" style="text-align: center;">
<input name="step" type="hidden" value="1">
<button id="button" type="button" onclick="myClick();"
style="background-color: #ef4023; width: 80px; font-face: times; font-size: 14pt;">
Wyślij
</button>
</td>
如果我手动执行此操作,下一个站点具有相同的地址。
正如您从发布的截图中看到的那样,单击按钮会触发一些 JavaScript 代码,即名为 myClick()
的方法。
使用 pythons 请求库点击这个东西并不简单。尝试找出 myClick()
内部发生的事情可能会更幸运。我的猜测是,在某个时候,将向 HTTP 端点发出 POST
请求。如果你能解决这个问题,你可以将它翻译成你的 python 代码。
如果这不起作用,另一种选择是使用 Selenium/PhantomJS 之类的东西,它使您能够拥有一个真正的、无头的和可编写脚本的浏览器。使用这样的工具,您实际上可以让它填写表格并单击按钮。您可以看看这个 so answer,因为它向您展示了如何使用 python.
中的 Selenium+PhantomJS请确保不要通过垃圾论坛滥用此类方法或[在此处插入非法或其他滥用行为 activity]。
在这种情况下,当您需要伪造脚本化按钮的请求时,不去猜测 JS 的逻辑可能更容易,而是执行物理点击并查看 chrome devtools 的网络嗅探器,它可以为您提供一个简单的请求,反过来,可以在 Python
中轻松伪造