C#做某些浏览器的时候需要注入一些脚本让浏览器自动执行脚本,比如登陆某网站
cef示例:
var buyNojs = "document.getElementsByClassName(\"mui-amount-increase\")[0].click()";
_wbLogin.GetBrowser().MainFrame.EvaluateScriptAsync(buyNojs);
webbroswer执行js如下:
private void button1_Click(object sender, EventArgs e)
{
HtmlDocument doc = webBrowser1.Document;
HtmlElement test = doc.CreateElement("script");
test.InnerHtml = "function alertMsg(){alert('this is a test')}";
doc.Body.AppendChild(test);
doc.InvokeScript("alertMsg");
}
C#程序调用其他程序,比如控制台调用form窗体获取当前浏览器的cookie信息
using (Process jdPro = new Process())
{
var argsinfo = "https://passport.jd.com/new/login.aspx" + " " + ".jd.com";//程序入参
jdPro.StartInfo.FileName = "WangYiCard.exe";
jdPro.StartInfo.Arguments = argsinfo;
//必须禁用操作系统外壳程序
jdPro.StartInfo.UseShellExecute = false;
jdPro.StartInfo.CreateNoWindow = true;
jdPro.StartInfo.RedirectStandardOutput = true;
jdPro.StartInfo.RedirectStandardError = true;
jdPro.Start();
cookieInfo = jdPro.StandardOutput.ReadToEnd();//程序返回结果
jdPro.WaitForExit();
jdPro.Close();
};