首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pywebview没有显示任何东西

pywebview没有显示任何东西
EN

Stack Overflow用户
提问于 2022-10-06 09:20:31
回答 1查看 199关注 0票数 0

我安装了这些库:

代码语言:javascript
复制
>pip freeze | findstr pythonnet
pythonnet==3.0.0a2
>pip freeze | findstr clr-loader
clr-loader==0.1.7
>pip freeze | findstr pywebview
pywebview==3.6.3

我创建了一个包含以下内容的test.py :代码是:

代码语言:javascript
复制
import webview
webview.create_window('Hello world', 'https://pywebview.flowrl.com/')
webview.start()

我在Windows 10上,结果是一个空白页:屏幕

EN

回答 1

Stack Overflow用户

发布于 2022-10-18 08:23:35

这里也一样。简言之:

显然,在pip安装的webview包目录(此处:c:/Users/<your_user>/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0/LocalCache/local-packages/Python310/site-packages/webview/lib)中的c:/Users/<your_user>/AppData/Local/Packages/PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0/LocalCache/local-packages/Python310/site-packages/webview/lib无法在这个目录中的arch子文件夹x64x86中找到相应的WebView2Loader.dll

找出您的Microsoft WebView2 Runtime (很可能是x64)的弓,然后将dll从相应的子目录中复制到上面。

这是怎么发现的?

在webview包中添加try/except块并添加CoreWebView2 (args.InitializationException)初始化失败的代码,edgechromium是webview的默认gui

代码语言:javascript
复制
   def on_webview_ready(self, sender, args):
        try:
            logger.debug('### on_webview_ready')
            logger.debug('---> '+str(args.InitializationException))
            sender.CoreWebView2.NewWindowRequested += self.on_new_window_request
            settings = sender.CoreWebView2.Settings
            settings.AreDefaultContextMenusEnabled = _debug['mode']
            settings.AreDefaultScriptDialogsEnabled = True
            settings.AreDevToolsEnabled = _debug['mode']
            settings.IsBuiltInErrorPageEnabled = True
            settings.IsScriptEnabled = True
            settings.IsWebMessageEnabled = True
            settings.IsStatusBarEnabled = _debug['mode']
            settings.IsZoomControlEnabled = True

            if _user_agent:
                settings.UserAgent = _user_agent

            if self.html:
                sender.CoreWebView2.NavigateToString(self.html)

            logger.debug('-----------> '+str(sender.CoreWebView2))

        except Exception as e:
            logger.exception(str(e))

这引发错误(德语),可以找到arg名称这里

代码语言:javascript
复制
[pywebview] ---> Die DLL "WebView2Loader.dll": Das angegebene Modul wurde nicht gefunden. (Ausnahme von HRESULT: 0x8007007E) kann nicht geladen werden.
   bei Microsoft.Web.WebView2.Core.CoreWebView2Environment.CreateCoreWebView2EnvironmentWithOptions(String browserExecutableFolder, String userDataFolder, ICoreWebView2EnvironmentOptions options, ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler en
vironment_created_handler)
   bei Microsoft.Web.WebView2.Core.CoreWebView2Environment.<CreateAsync>d__3.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
   bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   bei Microsoft.Web.WebView2.WinForms.WebView2.<InitCoreWebView2Async>d__13.MoveNext()
[pywebview] 'NoneType' object has no attribute 'NewWindowRequested'
Traceback (most recent call last):
  File "C:\Users\<your_user>\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\webview\platforms\edgechromium.py", line 153, in on_webview_ready
    sender.CoreWebView2.NewWindowRequested += self.on_new_window_request
AttributeError: 'NoneType' object has no attribute 'NewWindowRequested'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73971413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档