C# 的cefsharp 里的ChromiumWebBrowser执行js

C# 的cefsharp 里的ChromiumWebBrowser执行js,第1张

具体调用:

IBrowser browser = this._browser.GetBrowser()

if (browser.HasDocument)

{

IFrame mainFrame = browser.MainFrame

var js = "var f= function A(){ return $('img',$('#"+id+"'))} f()"

var task = mainFrame.EvaluateScriptAsync(js, null)// "(function() { var body = document.body, html = document.documentElementreturn Math.max( body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight )})()", null)

//执行脚本

//browser.MainFrame.ExecuteJavaScriptAsync("document.getElementById('testid').click()")

//browser.MainFrame.ExecuteJavaScriptAsync("document.getElementById('testid2').value='123'")

task.ContinueWith(t =>

{

if (!t.IsFaulted)

{//返回结果

var response = t.Result

var result = response.Success ? (response.Result ?? "null") : response.Message

//html = result.ToString()

}

}, TaskScheduler.FromCurrentSynchronizationContext())

}

CefSharp提供了一个CefSharp.CefSharpRequestHandler类,该类允许您在加载网页前或加载过程中取消加载请求。要取消网页加载,您需要实现CefSharp.CefSharpRequestHandler.OnBeforeBrowse方法,并在其中返回true。如果返回true,CefSharp不会加载网页,反之亦然。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7864208.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存