gpt4 book ai didi

python - PyMaps : How to interact with javascript in python

转载 作者:太空宇宙 更新时间:2023-11-03 19:07:59 24 4
gpt4 key购买 nike

好的,所以我已经使用了 this代码来设置一个简单的程序。基本上它只是在 python 中设置 map 上的点。非常基本。现在的问题是我有一个情况,当该情况发生时,它会使用简单的 QWebView.setHtml() 刷新页面。我现在要做的就是想办法获取 map 当前的缩放和中心信息并保存。无论如何,有没有办法进入 javascript 并获取该信息,存储它,然后将其写入 html,就像我在刷新之前该代码已经执行的那样?

抱歉,如果这令人困惑或宽泛,我只是想不出一种使用 python 从 map 中获取信息的方法。

最佳答案

有多种方法可以与服务器 (Python) 的客户端代码进行交互。您可以在客户端上设置 cookie,从 Javascript 向服务器发送 AJAX 请求,提交表单,或者采用更奇特的方式(例如 WebSockets)。如果没有更多信息,我不确定我们能否告诉您哪个是最好的。

您使用什么网络框架?

编辑:

哦,我明白了 - 您正在使用可编写脚本的 Web View ...也许类似于 zoom = view.evaluateJavaScript('map.getZoom();') ?从我对库的了解来看,困难的部分可能是在 JS 中获取对 map 变量的引用。

编辑:

我认为如果不修改或扩展 pymaps,这是不可能的,因为它在 JS 中本地限定 GMap 的范围,并且不会在任何地方公开它。我已经在 gist 中做到了这一点。然后,您可以使用类似于上面的内容来访问缩放 - 也许是 zoom = view.evaluateJavaScript("PyMaps[0].gmap.getZoom();")

编辑:

如果这还不清楚 - 我包含的要点要求您使用 MyPyMap 而不是 PyMap

来自另一个StackOverflow question ,我意识到你不能直接在 View 上执行 evaulateJavaScript 。后续代码看起来更像这样

doc = view.page().mainFrame().documentElement()
zoom_level = doc.evaluateJavaScript("PyMaps[0].gmap.getZoom();")

关于python - PyMaps : How to interact with javascript in python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14071654/

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