zoukankan      html  css  js  c++  java
  • Coded UI中执行Javascript

    Coded UI中用C#对WebBrowser执行JavaScript,之前一直纠结这个问题各种找方法,最后查看WatiN中的RunScript()方法的实现,终于有所收获。

    有例有真相:Technet Library的登录实现:

           [TestMethod]
            public void VerifySignIn()
            {
                string url = "https://login.live-int.com/login.srf?wa=wsignin1.0&rpsnv=46&ct=1364435925&rver=6.0.5276.0&wp=MCLBI&wlcxt=TechNet%24TechNet%24TechNet&wreply=http%3a%2f%2ftechnettest.redmond.corp.microsoft.com%2fen-US%2flibrary%2faa991542%3flc%3d1033&lc=1033&id=266001&mkt=en-US";
                string name = "abc";
                string psw = "123";
    
                //js代码:f1是表单,i0116是UserName文本框的id,i0118是Password的文本框id,idSIButton9是Sign in按钮的id。
                string scriptCode = "f1.i0116.value=" + "'" + name + "'; f1.i0118.value=" + "'" + psw + "'; f1.idSIButton9.click();";
                
                BrowserWindow browser = BrowserWindow.Launch(new Uri(url));
                HtmlInputButton _btnSubmit = new HtmlInputButton(browser);
                _btnSubmit.SearchProperties[HtmlInputButton.PropertyNames.Id] = "idSIButton9";
    
                //将HtmlControl转换成HtmlElement,然后获取到IHTMLDocument2对象,进而获取到IHTMLWindow2对象,然后调用其execScript()方法
                IHTMLElement btnSubmit = _btnSubmit.NativeElement as IHTMLElement;
                var doc = btnSubmit.document as IHTMLDocument2;
                IHTMLWindow2 window = doc.parentWindow;
                window.execScript(scriptCode, "javascript");
                browser.WaitForControlReady();
            } 
  • 相关阅读:
    HDOJ 1000 A + B Problem C++解法
    HDU之旅
    C++primer plus第六版课后编程题答案8.8
    C++primer plus第六版课后编程题答案8.6
    C++primer plus第六版课后编程题答案8.5
    C++primer plus第六版课后编程题答案8.3(正解)
    C语言练手自己编写学生成绩管理系统
    C_数据结构
    C---数组名作函数参数
    C---通过指针访问数组
  • 原文地址:https://www.cnblogs.com/fengsiyi/p/3101391.html
Copyright © 2011-2022 走看看