发布:2023/9/18 14:49:19作者:管理员 来源:本站 浏览次数:554
//异步
private void async button1_Click(object sender, EventArgs e)
{
//注入本机bin\x86\debug下的文件
browser.ExecuteScriptAsync(File.ReadAllText(@"JavaScript2.js"));
//也可加入到资源中直接取字符串
//browser.ExecuteScriptAsync(Resource.JavaScript2);
//也可以注入网络文件
// 调用网页上已有js方法,等待js 方法执行完后,获取返回值
CefSharp.JavascriptResponse t = await browser.GetBrowser().MainFrame.EvaluateScriptAsync("testGetData()");
// t.Result 是 CefSharp.JavascriptResponse 对象
// t.Result.Result 是一个 object 对象
if (t.Result != null)
{
MessageBox.Show(t.Result.ToString());
}
//注入js代码。当然也可以是jquery代码。如果页面没有jq库,要先注入jq库
//下面演示给 当前地址包含login的, 界面上div class=develop 的第一个input赋值aaaa
var curUrl = browser.Address.ToLower();
if (curUrl.Contains("login".ToLower()))
{
string script = "";
script += "(function btn() {";
script += " var obj = document.getElementsByClassName('develop');";
script += " if (obj.length > 0)";
script += " {";
script += " obj[0].getElementsByTagName('input')[0].focus();";
script += " obj[0].getElementsByTagName('input')[0].value ='aaaa';";
script += " }";
script += " })()";
//注入执行js
browser.ExecuteScriptAsync(script);
}
}