WebView2 (2020/06) -> DOM 在哪里?

Posted

技术标签:

【中文标题】WebView2 (2020/06) -> DOM 在哪里?【英文标题】:WebView2 (2020/06) -> Where's the DOM? 【发布时间】:2020-10-01 08:46:57 【问题描述】:

我将一种可工作的 Excel VBA 应用程序移动到 C#/Windows表单/WebView2 项目。

目前看来,基础知识还没有。

例如...

    1- if(browser.navigationComplete == true)

    That simple check isn't available. 
    How is one supposed to flow sequences of user actions without this?

    2- htmlagilitypack like tools?

    In VBA you can easily work with the DOM since there's types for pretty much everything. Where's that in WebView2?

也许我弄错了,但看起来 webview2 只是一个浏览器,没有 VBA 二十多年来所拥有的自动化工具。请告诉我,我不必爬回我的中世纪 Excel VBA 地牢。我看到了光,很好!

任何架构或实际测试的工作代码将不胜感激:)

谢谢你来自温哥华,

安东尼

【问题讨论】:

【参考方案1】:

1. browser.navigationComplete:您应该可以使用WebView2.NavigationCompleted 事件。

2。 htmlagilitypack:虽然 WebView2 不提供直接 DOM 访问,但您可以获取 html as a string 并使用 htmlagilitypack LoadHtml 函数。还有htmlagilitypack from web 功能,但我不确定这是否只是在幕后使用WebBrowser。

【讨论】:

【参考方案2】:

这是 Webview2 的实验性 DOM:https://github.com/ukandrewc/Webview2.Winforms.DOM

【讨论】:

以上是关于WebView2 (2020/06) -> DOM 在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

WebView2:如何启用密码自动填充?

是否有对 Webview2 控件的 ActiveX 支持

操作系统中未安装webview2

WebView2 - 桌面透明3D效果

如何在 Webview2 中使用透明度?

WebView2 中的搜索功能