【问题标题】:Trigger Javascript event on remote website with Python使用 Python 在远程网站上触发 Javascript 事件
【发布时间】:2025-09-29 02:20:02
【问题描述】:

我编写了一些基本的 Python 代码来抓取远程网页并抓取一些数据。在我试图抓取的另一个页面上,数据从视图中隐藏,并且仅在更改 <select> 框的值后出现。

在对远程网站的javascript进行去缩小和挖掘之后,我确认它正在使用AJAX(我认为是Prototype的自定义实现)来切换我感兴趣的<table><tbody>

有没有办法使用 Python(或通过 Python 编写的 Javascript)触发该选择框的 onChange 事件,以便我可以“刷新”DOM 并获取新的 HTML?

【问题讨论】:

  • 为什么不直接做 AJAX 请求并从中解析出你想要的数据呢?
  • 看看 PySide 的 WebKit 绑定 - 你完全可以做到这一点。 (我正在做一个类似的项目)
  • @kindall 我最初找不到 ajax 请求 url(正在使用 chrome 的内置检查元素工具)。然后一个朋友建议我在firefox上使用firebug(我正常使用,但愚蠢地没想到尝试)并且请求url按预期在控制台中弹出。如果您想发布答案,我会接受您的。

标签: javascript python dom web-scraping


【解决方案1】:

找出 AJAX 请求 URL 并直接请求它。 :-)

【讨论】:

  • 完全同意,但是... 怎么样?我知道我必须从 python 调用的 url 来实现我需要的功能,但我不知道如何从 python 调用它。我试过 urllib2.urlopen 但它不会做这项工作......(网址是:mypc/automation/…