我有这个小网站,我想用请求库填写表格。问题是填写表单数据并单击按钮时,我无法到达下一个站点(输入不起作用)。
重要的是我无法通过某种类型的点击bot来做到这一点。这需要完成,这样我才能在没有图形的情况下运行。
info = {'name':'JohnJohn',
'message':'XXX',
'sign':"XXX",
'step':'1'}
前三个条目的名称,消息,符号是文本区域,步骤是我认为的按钮。
r = requests.get(url)
r = requests.post(url, data=info)
print(r.text)
当我通过chrome手动发送请求时,表单数据如下所示:
button元素如下所示:
<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()
。我的猜测是,在某个时候,POST
将向HTTP端点发出请求。如果可以弄清楚,可以将其转换为python代码。
如果那不起作用,另一种选择是使用Selenium / PhantomJS之类的东西,它使您能够拥有一个真正的,无头且可编写脚本的浏览器。使用这样的工具,您实际上可以填写表格并单击按钮。您可以看看这个答案,因为它向您展示了如何从python使用Selenium + PhantomJS。
请确保不要通过向论坛发送垃圾邮件或[在此处插入非法或其他侮辱性活动]来滥用此类方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句