【问题标题】:Unable to use CoreWebView2 from .NET6 app无法从 .NET6 应用程序使用 CoreWebView2
【发布时间】:2022-11-09 18:12:43
【问题描述】:

我在 winForms 中看到了 webview2 的潜力,我正在尝试将它插入到 .net6 控制器中。

winform 代码是这样的:

Microsoft.Web.WebView2.WinForms.WebView2 mySilentEdgeBrowser = new Microsoft.Web.WebView2.WinForms.WebView2();
            mySilentEdgeBrowser.NavigationStarting += SilentEdgeBrowser_CoreWebView2NavigationStarting;
            mySilentEdgeBrowser.NavigationCompleted += SilentEdgeBrowser_CoreWebView2NavigationCompleted;
            mySilentEdgeBrowser.Source = baseAddress;
            await mySilentEdgeBrowser.EnsureCoreWebView2Async(null);

我的问题显然是我无法在我的 .net6 控制器中导入 System.Windows.Forms,但是我对 webView2 的理解可以通过 CoreWebView2 完成,所以如果有办法在我的控制器中实例化它工作完成。我在网上搜索它但没有运气,有一个可行的解决方案吗?

编辑Puppeteer 和类似软件不是一个选项,该站点会自动检测。

谢谢, L-

【问题讨论】:

  • 但是你为什么要这样做?)
  • 打开包含大量 javascript 的网页并在执行 js 代码后检索其内容。 Whit httpclient 和其他方式我在 js 东西之前获得了源代码。
  • 您将如何检查例如“cookie 同意”是否出现,阻止 javascript - 当您看不到它时?
  • 在我的具体情况下,我已经尝试使用 puppeter,但它不起作用。从目标网站检测为自动化并重定向到支持页面。 webView2 的要点是它是一个功能齐全的边缘浏览器,并且可以正确加载页面(在 .net 6.0 桌面独立应用程序中尝试过并且可以正常工作)

标签: c# .net-6.0 webview2


【解决方案1】:

我认为理论上可以做到这一点,但我认为这远非最佳解决方案。您可以使用puppeteerplaywright 来实现相同的功能。 AFAIK 都允许等待 js 执行和/或执行自定义 js 脚本。

【讨论】:

    猜你喜欢
    • 2023-02-06
    • 2023-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多