我有这个小网站,我想用请求库填写表格。问题是当填写表单数据并单击按钮时,我无法到达下一个站点(输入不起作用)。
重要的是,我无法通过某种类型的点击漫游器来做到这一点。这需要完成,这样我才能在没有图形的情况下运行。
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。
请确保不要通过向论坛发送垃圾邮件或[在此处插入非法或其他侮辱性活动]来滥用此类方法。
问题内容: 如何使用与以下代码等效的node.js发出Http请求: 问题答案: 使用http客户端。 遵循以下原则:
问题内容: 我有一些Django可以很好呈现的HTML。我想单击HTML上的按钮,并在视图中触发事件。 看起来按钮并未引起触发。我不确定自己在做什么错。 这是我的代码: 这是我的: 问题答案: 为什么没有直接使用该事件? 试试这个: 如果按钮是动态创建的,那么您可能想使用该函数将事件处理程序附加到元素: 尝试使用以下URL来包含JQuery库:
问题内容: 我尝试了python 请求库文档中提供的示例。 使用,我得到了响应代码,但是我想获得所请求的每个页面的内容。例如,这不起作用: 问题答案: 注意 下面的答案是不适用于请求v0.13.0 +。编写此问题后,异步功能已移至。但是,你可以将其替换为下面的内容,它应该可以工作。 我已经留下了这个答案,以反映原始问题,即有关使用请求的问题。 要异步执行多个任务,你必须: 为每个对象定义一个函数(
问题内容: 我想通过单击按钮发送HTTP发布请求到我的网站。我搜索分配只发现了这段代码 但是我不知道如何通过单击按钮来工作。 问题答案: 使用AsyncTask在按钮单击时执行网络操作为: 然后在Button上单击Start AsyncTask onbuttonclickHttpPost作为:
问题内容: 将请求正文与GET请求一起传递是否违反REST风格? 例如在Elasticsearch中过滤一些信息 甚至设计了一些工具来避免GET请求中的请求主体(例如邮递员) 问题答案: 从RFC: GET请求消息中的有效负载没有定义的语义。在GET请求上发送有效内容正文可能会导致某些现有实现拒绝该请求。 换句话说,这不是禁止的,但是它是未定义的行为,应避免使用。HTTP客户端,服务器和代理可以随
我在: > http://developer.yahoo.com/blogs/ydn/important-api-updates-changes-8060.html http://developer.yahoo.com/boss/search/ http://tech.groups.yahoo.com/group/ysearchboss/msearch?query=http要求 http://de