gpt4 book ai didi

javascript - 如何使用pyqt评估javascript

转载 作者:行者123 更新时间:2023-11-28 09:09:31 25 4
gpt4 key购买 nike

我正在学习pyqt,用于解析网页。

现在我想使用 pyqt 评估 javascript 函数,就像这个答案一样: spidermonkey evaluate js function which in remote js file


import urllib2
import spidermonkey
js = spidermonkey.Runtime()
js_ctx = js.new_context()
script = urllib2.urlopen('http://etherhack.co.uk/hashing/whirlpool/js/whirlpool.js').read()
js_ctx.eval_script(script)
js_ctx.eval_script('var s = "abc"')
js_ctx.eval_script('print(HexWhirlpool(s))')

我想知道如何使用 pyqt 而不是 Spidermonkey 来达到相同的效果。

最佳答案

PyQt 是一个 UI 框架,因此它可能不是您箭袋中的最佳箭头。

您可以使用WebView加载并显示网页。由于 WebView 使用 WebKit,因此它将加载并解析 HTML 以及其中的所有 CSS 和 JavaScript。但这意味着您只是获得最终结果 - 您无法过多控制加载内容和加载时间。

或者您可以使用类似 Beautiful Soup 的工具来解析 HTML。这使您可以完全控制。然后,您可以尝试使用 spidermonkey 运行 JavaScript,但这会失败,因为许多全局变量(如 windowdocument)将丢失。而且,不会有 DOM。

为此,您需要类似 Envjs 的内容但是there is no Python integration .

也许 PhantomJS(脚本驱动的 Chrome/Chromium 浏览器)是一个选项。看这个问题:Is there a way to use PhantomJS in Python?

关于javascript - 如何使用pyqt评估javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16498408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com