• webBrowser中操作网页元素全攻略


    webBrowser中操作网页元素全攻略

    1、获取非input控件的值:

    webBrowser1.Document.All["控件ID"].InnerText;

    或webBrowser1.Document.GetElementById("控件ID").InnerText;

    或webBrowser1.Document.GetElementById("控件ID").GetAttribute("value");

    2、获取input控件的值:

    webBrowser1.Document.All["控件ID"].GetAttribute("value");;

    或webBrowser1.Document.GetElementById("控件ID").GetAttribute("value");

    3、给输入框赋值:

    webBrowser1.Document.GetElementById("控件ID").SetAttribute("value", "控件值");

    4、CheckBox选中:

    webBrowser1.Document.GetElementById("控件ID").SetAttribute("Checked", "true");

    5、根据已知有ID的元素操作没有ID的元素:

    HtmlElement btnDelete = webBrowser1.Document.GetElementById(passengerId).Parent.Parent.Parent.Parent.FirstChild.FirstChild.Children[1].FirstChild.FirstChild;

    根据Parent,FirstChild,Children[1]数组,多少层级的元素都能找到。

    6、获取Div或其他元素的样式:

    webBrowser1.Document.GetElementById("addDiv").Style;

    7、直接执行页面中的脚本函数,带动态参数或不带参数都行:
    Object[] objArray = new Object[1];
    objArray[0] = (Object)this.labFlightNumber.Text;
    webBrowser1.Document.InvokeScript("ticketbook", objArray);
    webBrowser1.Document.InvokeScript("return false");

    8、自动点击、自动提交:

    HtmlElement btnAdd = doc.GetElementById("addDiv").FirstChild;

    btnAdd.InvokeMember("Click");

    9、自动赋值,然后点击提交按钮的时候如果出现脚本错误或一直加载的问题,一般都是点击事件执行过快,这时需要借助Timer控件延迟执行提交按钮事件:

    this.timer1.Enabled = true;
    this.timer1.Interval = 1000 * 2;

    private void timer1_Tick(object sender, EventArgs e)
    {
    this.timer1.Enabled = false;
    ClickBtn.InvokeMember("Click");//执行按扭操作
    }

    10、屏蔽脚本错误:

    将WebBrowser控件ScriptErrorsSuppressed设置为True即可

    11、自动点击弹出提示框:

    参考:http://www.cnblogs.com/qqflying/archive/2012/07/25/2608038.html

    12、获取网页中的Iframe,并设置Iframe的src

    HtmlDocument docFrame = webBrowser1.Document.Window.Frames["mainFrame"].Document;

    HtmlDocument docFrame = webBrowser1.Document.All.Frames["mainFrame"].Document;

    docFrame.All["mainFrame"].SetAttribute("src", "http://www.baidu.com/");

    13、网页中存在Iframe的时候webBrowser1.Url和webBrowser1_DocumentCompleted中的e.Url不一样,前者是主框架的Url,后者是当前活动框口的Url。

    14、让控件聚焦

    this.webBrowser1.Select();
    this.webBrowser1.Focus();
    doc.All["TPL_password_1"].Focus();

    注:原创作品转载请注明出处,其他网友有其他方面关于WebBrowser控件有其他操作技巧可留言交流,谢谢!

  • 相关阅读:
    Realtime crowdsourcing
    maven 常用插件汇总
    fctix
    sencha extjs4 command tools sdk
    首次吃了一颗带奶糖味的消炎药,不知道管用不
    spring mvc3 example
    ubuntu ati driver DO NOT INSTALL recommand driver
    yet another js editor on windows support extjs
    how to use springsource tools suite maven3 on command
    ocr service
  • 原文地址:https://www.cnblogs.com/duanweishi/p/4705952.html
Copyright © 2020-2023  润新知