基于.net开发chrome核心浏览器【七】
CfxRuntime.LibCefDirPath = @"C:\path\to\cef\directory";
ChromiumWebBrowser.Initialize();
|
var f = wb.GetFrame("mem_index");
var js = File.ReadAllText("login.js", Encoding.UTF8);
f.ExecuteJavaScript(js, "", 0);
|
第一行代码
用webbrowser控件获取一个iframe有好几个重载方法
我这里输入的是iframe的name,
还有CfxFrame GetFrame(long identifier);注意这里可不是iframe的id哦
还有一个函数挺有用的
List<string> GetFrameNames();
得到页面中所有iframe的名字
|
第二行代码就不用解释了
你看到我写了login.js应该知道我不是在做什么好事儿
|
第三行代码就是让这个iframe执行这段JS脚本
方法的签名是这样的:
void ExecuteJavaScript(string code, string scriptUrl, int startLine);
如果你的iframe已经加载了jquery,那么你执行的代码也是可以使用jqeury的
第二个参数和第三个参数都是和出错调试有关的
|
wb.OnLoadingStateChange += wb_OnLoadingStateChange;
void wb_OnLoadingStateChange(object sender, Chromium.Event.CfxOnLoadingStateChangeEventArgs e)
{
if (e.IsLoading == false)
{
//do what you want
}
}
|
加载完成的时候e.IsLoading的值是false
|
喜欢的人请点推荐,分享知识也不容易,大家快来感谢我接管js对话框,并自动触发是或否的按钮JS和C#通信给页面或iframe注册全局的回调函数接管或屏蔽页面的请求
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。