8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

从 Python 执行页面上的 JS 代码

Student_102345 1月前

31 0

我的任务是使用 Python 从任何网页获取命名函数列表。我有一个使用 JavaScript 编写的脚本。它可以满足我的需要。当页面加载时,我可以从 JS 控制台运行脚本...

我的任务是使用 Python 从任何网页获取命名函数列表。

我有一个使用 JavaScript 编写的脚本。它可以满足我的需要。

页面加载后,我可以从 JS 控制台运行脚本(例如从 GoogleChrome 中的 dev-tools)。我得到了函数名称数组作为结果。好吧,但我转到页面并从浏览器手动执行脚本。但问题是从 Python 执行相同操作。它看起来像这样:

def get_named_functions_list(url):
    myscript = settings.get_js_code()  # here I get script that I told above

    tool.open(url)

    while not tool.document.READY: # here I wait while the page will completely loaded
        pass

    js_result = tool.execute_from_console(myscript)

    return list(js_result.values())

那么,Python 中是否有一个工具可以帮助自动解决问题呢?

更新:为了更清楚,我可以将任务划分为子任务列表(在 Python 中):

  1. 请求给定的 URL
  2. 等待 document.ready(function...) 完成。
  3. 执行我的 JS 代码(就像在浏览器中一样)。
  4. 获取 JS 代码返回的结果。
帖子版权声明 1、本帖标题:从 Python 执行页面上的 JS 代码
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Student_102345在本站《parsing》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 如果你想在后端执行此操作,我认为这是不可能的。如果你想在加载时执行某些功能,你可能需要检查你使用的模板语言。如果这是为了测试,你将需要 python selenium 来完成你的任务

返回
作者最近主题: