问题标签 [cefpython]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
500 浏览

javascript - 传输大数据时,CEFPython 窗口在没有警告的情况下关闭

我正在尝试创建此 python 绑定到我创建的 electronjs 应用程序,其中 python 部分用于分析数据,并将结果(python 字典)传递给 Web 浏览器以进行可视化。对于少量数据,这一切都像一个魅力,但是当我试图传递一个大的结果字典(~200MB)时,窗口被创建了,但是在终端中没有警告就关闭了(我无法检查 devtool),虽然有似乎是一个在后端运行的子进程。这个问题发生在 Windows 和 Ubuntu 机器上,非常感谢您的帮助。

这是我的代码:

在 JS 方面,我有:

这是终端中打印的所有消息:

[0312/104311.439:INFO:cefpython_app.cpp(199)] [浏览器进程] OnBeforeChildProcessLaunch() 命令行:"<>\Anaconda3\lib\site-packages\cefpython3\subprocess" --type=gpu-process --no -sandbox --locales-dir-path="<>\Anaconda3\lib\site-packages\cefpython3\locales" --log-file=debug.log --log-severity=info --resources-dir-path= "<>\Anaconda3\lib\site-packages\cefpython3" --lang=en-US --disable-gpu-shader-disk-cache /prefetch:2

[0312/104311.440:INFO:cef_log.cpp(8)] [浏览器进程] 开关已设置,忽略:disable-gpu-shader-disk-cache

[0312/104311.440:INFO:cefpython_app.cpp(199)] [浏览器进程] OnBeforeChildProcessLaunch() 命令行:"<>\Anaconda3\lib\site-packages\cefpython3\subprocess" --type=gpu-process --no -sandbox --locales-dir-path="C:\Users\Xiangyun\Anaconda3\lib\site-packages\cefpython3\locales" --log-file=debug.log --log-severity=info --resources- dir-path=" <>\Anaconda3\lib\site-packages\cefpython3" --lang=en-US --disable-gpu-shader-disk-cache --gpu-preferences=KAAAAAAAAAACAA4CAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ="<>\Anaconda3\lib\site-packages\cefpython3\locales" --log-file=debug.log --log-severity=info --resources-dir-path="<>\Anaconda3\lib\site-packages\cefpython3" --lang=en-US /prefetch:2

[0312/104311.473:INFO:cef_log.cpp(8)] [浏览器进程] CreateBrowserSync() 调用

DevTools 监听 ws://127.0.0.1:59232/devtools/browser/abaff316-3b5c-4647-8af3-c7c521146d08 [0312/104311.473:INFO:cef_log.cpp(8)] [浏览器进程] navigateUrl: file:// ///<>/index_cefpython.html

[0312/104311.475:INFO:cef_log.cpp(8)] [浏览器进程] CefBrowser::CreateBrowserSync()

[0312/104311.493:INFO:cef_log.cpp(8)] [浏览器进程] GetPyBrowser(): 创建新的 PyBrowser, browserId=1

[0312/104311.516:INFO:cefpython_app.cpp(199)] [浏览器进程] OnBeforeChildProcessLaunch() 命令行:"<>\Anaconda3\lib\site-packages\cefpython3\subprocess" --type=renderer --no-sandbox --service-pipe-token=C31AF08C64F1883299C21D068EF5263C --lang=en-US --locales-dir-path=<>\Anaconda3\lib\site-packages\cefpython3\locales" --log-file=debug.log --日志严重性=信息 --resources-dir-path="<>\Anaconda3\lib\site-packages\cefpython3" --disable-gpu-shader-disk-cache /prefetch:1

[0312/104311.528:INFO:cef_log.cpp(8)] [浏览器进程] GetPyFrame(): 底层框架还不存在: browserId = 1, frameId = -4

[0312/104311.529:INFO:cef_log.cpp(8)] [浏览器进程] GetPyFrame(): 底层框架还不存在: browserId = 1, frameId = -4

[0312/104311.531:INFO:cef_log.cpp(8)] [浏览器进程] CefBrowser::CreateBrowserSync() 成功

[0312/104311.532:INFO:cef_log.cpp(8)] [浏览器进程] CefBrowser 窗口句柄 = 595526

[0312/104311.533:INFO:cef_log.cpp(8)] [浏览器进程] GetPyFrame(): 底层框架还不存在: browserId = 1, frameId = -4

[0312/104311.534:INFO:cef_log.cpp(8)] [浏览器进程] SendProcessMessage(): message=DoJavascriptBindings, arguments size=1

[0312/104311.534:INFO:cef_log.cpp(8)] [浏览器进程] MessageLoop()

[0312/104311.612:INFO:client_handler.cpp(40)] [浏览器进程] OnProcessMessageReceived(): OnContextCreated

[0312/104311.613:INFO:cef_log.cpp(8)] [浏览器进程] V8ContextHandler_OnContextCreated()

[0312/104311.614:INFO:cef_log.cpp(8)] [浏览器进程] GetPyFrame(): 创建新的 PyFrame, frameId=2

0 投票
1 回答
134 浏览

cefpython - cefpython3中的后退按钮

我正在尝试通过嵌入 cefpython3 将 Web 应用程序转换为桌面应用程序。

应用程序(有时)需要后退按钮进行导航。有没有一种简单的方法(即不需要像 Qt 这样的其他图形框架)来获得它?

注意:似乎 Shift+Backspace 和 Alt+Right Arrow 也不起作用。

0 投票
1 回答
208 浏览

python - 如何使用 CEFPython 在 Hi-DPI 屏幕上的同一窗口中停止 html 渲染两次?

我正在尝试CEFPython在我的高 DPI 笔记本电脑屏幕上运行。目前,我调用以下内容:

这会导致出现以下问题:

在此处输入图像描述

在网上看,我发现其他人对同一问题的一些参考:

但是,我没有将其直接应用于CEFPython. 任何帮助,将不胜感激!

0 投票
0 回答
538 浏览

python - CEFpython浏览器在windows上加载空白页,但在mac上完美运行

我从 CEFpython 的 github 页面编辑了代码,该页面使用 wxPython。它在我的 Mac 上运行良好,但是当浏览器在 Windows 上启动时,它只加载一个空白屏幕。

我是第一次尝试 wxPython 和 CEFpython。我正在尝试使用 wxPython 作为 cef 浏览器的包装器,在后台使用 django 作为服务器。我按照 CEFpython 的 Github 页面上的教程https://github.com/cztomczak/cefpython/blob/master/examples/wxpython.py 我对其进行了编辑,它可以在 Mac 上运行,但是当我尝试在 Windows 上运行它时,我得到的只是一个空白的白色页面,左上角有一个小方形。我尝试过的:1)我尝试加载 google.com 而不是 127.0.0.1:8000。2)我猜测可能是在包含浏览器的帧之前服务器没有启动,我使用一个线程延迟了大约15秒并在浏览器上调用了Reload 3)它在Mac上完美运行所以我编辑了代码并且只留下与 windows 相关的代码,同样的事情。请帮忙!抱歉,如果我粘贴了所有代码,我真的不知道我做错了什么。先感谢您。

浏览器.py

主文件

服务器.py

0 投票
2 回答
337 浏览

python - 如何在 CefPython 中启用外部文件链接?

我正在开发一个 CEFPython 应用程序,该应用程序需要我包含一些外部文件,例如 JS 或 CSS 库。但是 HTML 文件中提到的任何外部路径(指同一文件夹中存在的外部库和在线资源 URL)似乎是不可接受,我确定缺少一个启用外部文件喜欢的标志,但无法弄清楚是哪个。下面是我的主要功能的代码:

0 投票
0 回答
39 浏览

javascript - 调试在每个浏览器上都可以正常运行但通过 CefPython 呈现的 Javascript 函数

我正在开发一个基于 CEFPython 的项目,我正在尝试渲染一个具有 javascript html 和 css 的网页。在这方面,长 javascript 函数(约 980 行)似乎存在一些问题,但是在浏览器上运行相同的代码时,它似乎工作正常,但是当我尝试使用 CEFPython 实现相同的代码时,似乎有一些问题。但是所有其他 JS 函数似乎在 CefPython 上运行得非常好,我无法调试,因为 python 没有显示错误,并且代码在所有浏览器上都运行良好。请建议如何调试?

0 投票
1 回答
78 浏览

cefpython - Javascript python通信

使用 CEFPython,我们可以创建 javascript 函数的原型并在 python 中构建函数吗?

0 投票
1 回答
510 浏览

python-3.x - 如何在没有显示错误的情况下在 python3 上运行的 cefpython 上设置高 dpi?

我有一个曾经在 python2 上运行良好的代码。此代码是一个 cefpython 浏览器,与位于 cefpython 的 git 存储库中的 wxpython 示例非常相似。现在我搬到了python3,我面临着像这张照片一样的显示错误:

透析虫

关于 dpi 的代码如下:

与 dpi 和版本相关的输出打印是:

如何在 python3 上运行此示例?

感谢您提供任何进一步的帮助。里卡多

0 投票
1 回答
869 浏览

python-3.x - 为什么不能同时运行 tkinter mainloop 和 cefpython3 messageloop?

我正在 Python3 中的一个项目中工作,其中我有 tkinter 和带有 cef 浏览器的 tkinter 框架。这是代码。

问题是:

  1. 我离开 cef.MessageLoop() 并且浏览器工作但按钮不工作。
  2. 我注释掉 cef.MessageLoop() 并且浏览器不起作用,但 tkinter 窗口可以。

我在想也许线程模块 wuold 有帮助,但我试过了(你可以看到注释行)但不起作用(我没有例外,但浏览器不起作用)。我该如何解决这个问题?

0 投票
0 回答
157 浏览

python-3.x - 什么 GetPostData() 使用 cefpython3 返回 { }?

我不明白为什么如果我启动它,在 github 中填写注册表并点击“注册”发布数据是 {}。我正在使用 python 3.7、cefpython 66.0 代码:

这就是我填写表单填写的表格 输出的方式:

我期待在 GetPostData 中找到一些东西。感谢所有会帮助我的人!

****更新****建议我尝试使用官方cefpython tkinter示例。我添加了

在类 browserFrame 中定义 embed_browser。然后我在“def embed_browser”之前添加这个函数

我得到了这个输出: