Cef Browser Wpf探索dom,查找元素并改变值
Cef Browser Wpf explore the dom, find elements and change values
进一步 post ()。
我实现了 IRequestHandler
接口和不同的方法,特别是 GetAuthCredentials
,我在其中显示了一个对话框并恢复了用户和密码并将其传递给事件处理程序。
现在我想访问 dom ,在那里我得到几个 frameset
不同 frames
并且我对一个 frame
感兴趣,我知道 name
属性.
在这个 frame
我需要得到不同类型的列表 input
, select
等......
在我的应用程序中,我有一个按钮,用于设置不同 elements
的值,具体取决于它们是否出现在显示的页面上。
问题是我看不到任何获取 document
、frames
集合等的方法....
CefSharp
不公开底层 DOM
,不太可能看到 http://magpcss.org/ceforum/viewtopic.php?f=6&t=10652&p=19533#p16750
您最好的选择是使用 EvaluateScriptAsync
和 Javascript Binding
的组合
https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-questions#2-how-do-you-call-a-javascript-method-that-return-a-result
https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-questions#3-how-do-you-expose-a-net-class-to-javascript
如果您绝对必须具有 DOM
访问权限并且无法发明解决方案,那么 CefGlue
可能是您更好的选择。 (我应该指出 DOM
只能在 Render
进程中访问,因此需要通过 IPC
将调用传递给 Browser
进程,所以它这不是一项微不足道的任务)。
进一步 post (IRequestHandler
接口和不同的方法,特别是 GetAuthCredentials
,我在其中显示了一个对话框并恢复了用户和密码并将其传递给事件处理程序。
现在我想访问 dom ,在那里我得到几个 frameset
不同 frames
并且我对一个 frame
感兴趣,我知道 name
属性.
在这个 frame
我需要得到不同类型的列表 input
, select
等......
在我的应用程序中,我有一个按钮,用于设置不同 elements
的值,具体取决于它们是否出现在显示的页面上。
问题是我看不到任何获取 document
、frames
集合等的方法....
CefSharp
不公开底层 DOM
,不太可能看到 http://magpcss.org/ceforum/viewtopic.php?f=6&t=10652&p=19533#p16750
您最好的选择是使用 EvaluateScriptAsync
和 Javascript Binding
https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-questions#2-how-do-you-call-a-javascript-method-that-return-a-result https://github.com/cefsharp/CefSharp/wiki/Frequently-asked-questions#3-how-do-you-expose-a-net-class-to-javascript
如果您绝对必须具有 DOM
访问权限并且无法发明解决方案,那么 CefGlue
可能是您更好的选择。 (我应该指出 DOM
只能在 Render
进程中访问,因此需要通过 IPC
将调用传递给 Browser
进程,所以它这不是一项微不足道的任务)。