如何在python中模拟onclick事件?

sks*_*try 5 javascript python selenium web-scraping

我正在做一个小项目,我必须向网站提交表格。但是,该网站正在使用 onclick 事件提交表单(使用javascript)。

  1. 如何onclick在python中模拟事件?

  2. 可以使用哪些模块?我听说过seleniummechanize模块。但是,可以使用哪个模块,或者同时使用两个模块,哪个更好?

我是网络爬虫和自动化的新手。因此,这将非常有帮助。

提前致谢。

Utk*_*hik 7

理想情况下,您甚至不需要在这种情况下单击按钮。

您只需要查看单击提交按钮时表单发送请求的 Web 服务。

为此,请在浏览器中打开开发人员的控件,转到“网络”选项卡并选择“保留日志”。现在手动提交表单并查找发送的第一个 xhr GET/POST 请求。这将是 90% 的 POST 请求。

现在,当您在请求参数中选择该请求时,它将显示您在提交表单时输入的值。答对了!!

现在您需要做的就是使用请求在您的python 代码中使用相关的请求标头和参数来模拟此请求。还有哇!!

希望能帮助到你..


ale*_*cxe 5

模拟onclick网页上的事件没有灵丹妙药。它几乎是特定于用例的,但是这里有一些要点和准则。

通常,有两种方法:

  • 使用浏览器开发人员工具,打开“网络”选项卡,单击并查看将什么请求发送到服务器。然后,使用来模拟Python中的此请求requests
  • 使用selenium它将触发一个真正的浏览器,您可以在其中找到特定元素并通过方法单击.click()

mechanize不会执行/触发该onclick函数,因为执行onclick需要执行javascript,mechanize 而不能执行