在 Python 网页抓取期间触发 JS 事件
trigger js event during the python web scraping
# ./scrape.py
from lxml import html
import requests
url = "http://www.my-target-url.com"
page = requests.get(url)
# can I insert some js event codes to execute here?
tree = html.fromstring(page.content)
print tree.xpath("/html/to/target/data/text()")[0]
我这样做是为了抓取目标页面,该页面有几个按钮来更改数据。我想要可以从这些按钮获得的所有数据。我搜索了发送带有参数的 POST 或 GET 的方法。似乎没有其他方法,只能从该网页触发js事件(就像我可以在chrome开发人员控制台中所做的那样(。
有什么方法可以执行 js 事件来更改此 python 代码中所需数据的响应对象吗? 我应该使用请求以外的其他库吗? 还是我可以搜索的其他方式?(比如在后面做一些Web浏览器对象并用它做什么?那么有什么帮助?(
简短的回答,没有。
所有的javascript事件都由浏览器的js引擎处理。这意味着您还需要一个 javascript 引擎来处理和执行脚本并触发事件。
相关文章:
- 为什么js事件消失了
- 使用onkeyup JS事件检查输入的值是否唯一
- JS事件未更改输入禁用属性
- jQuery的等价物's$(this)在Ractive.js事件代理中
- Raphael JS事件未开火
- Ajax 请求正在取消页面上的其他 JS 事件
- 当多个 JS 事件调用同一个函数时,如何处理它们
- 主干.js事件处理程序命名的最佳做法
- js事件,用于函数内部的when语句变为true
- React.js事件需要点击2次才能执行
- 单击文档时的Backbone JS事件
- 在添加元素时激发JS事件
- 作为自动化测试的一部分,监控特定的js事件以及执行它们所需的时间
- JS事件CTRL+鼠标悬停+隐藏文本
- Backbone.js事件未启动
- JS调试器是否挂起整个JS事件循环
- js事件循环是否意味着可以为临时暂存空间使用全局变量
- 在Backbone.js视图中拖动gabilly.js事件
- 从本机 java 代码调用 JS 事件
- 主干网.js事件和内存管理