进一步发布帖子(CefSharp load a page with browser login)。
我实现了IRequestHandler
接口和不同的方法,特别是GetAuthCredentials
我显示对话框并恢复用户和密码并将其传递给事件处理程序。
现在我想访问dom,其中我得到了几个frameset
个不同的frames
,我对一个frame
感兴趣,我知道name
属性。
在frame
内,我需要获取不同类型input
,select
等的列表...
在我的应用程序中,我有一个按钮,我用它来设置不同elements
的值,具体取决于它们是否显示在显示的页面上。
问题是我没有看到任何方式获取document
,frames
集合等....
答案 0 :(得分:5)
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
进程中进行访问,因此需要通过Browser
将此类调用传递给IPC
进程,因此不是一件轻而易举的事。)