zoukankan      html  css  js  c++  java
  • WebBrowser学习

    1. NavigateComplete2 事件

    在一个窗口windows元素或者框架frameset元素,导航navigate到链接完成时触发
    此事件替换 在 IE4.0 和 IE5 为兼容 IE3.0 继续使用的 NavigateComplete 和 FrameNavigateComplete 事件

    2. Navigate方法
    object.Navigate(url, [Flags], [TargetFrameName], [PostData], [Headers])
    导航到被URL或者全路径文件标识的资源
    IE6及以上,你可以在应用程序托管的WebBrowser控件写代码导航到同一个网域。否则,Navigate 和 Navigate2 被禁用
    IE7, 可以指定 navOpenInNewTab 或者 navOpenInBackgroundTab 标记。若标签浏览禁用或不能创建,key选择其他导航方法,如 navOpenInNewWindow
    https://msdn.microsoft.com/en-us/library/aa752093(v=vs.85).aspx

    3. Navigate2方法
    object.Navigate2(URL, Flags, TargetFrameName, PostData, Headers)
    导航到一个或许不能用URL表示的地址,例如Windows Shell空间的实体指向 PIDL的指针 a pointer to an item identifier list (PIDL) for an entity in the Windows Shell namespace. 此方法扩展 Navigate 方法来允许Shell集成;但不会使 Navigate 过时. 原方法继续用于 URL 导航.
    https://msdn.microsoft.com/en-us/library/aa752094(v=vs.85).aspx

    3. WebBrowser.ProgressChanged 事件
    当 WebBrowser 控件在下载一个导航到的文件过程更新信息后发生
    你可以给这个事件使用一个 handler 来实现类似IE的导航进度条. 使用 WebBrowserProgressChangedEventArgs.CurrentProgress 属性 确定成功下载的字节数. 使用 WebBrowserProgressChangedEventArgs.MaximumProgress 属性确定可用的下载字节数.
    https://msdn.microsoft.com/en-us/library/system.windows.forms.webbrowser.progresschanged(v=vs.110).aspx

    4. IHTMLDocument2 接口
    获取文档的信息,检查、修改文本中的HTML元素、文本
    IHTMLDocument2 接口继承 IDispatch 接口,所以拥有他们的成员类型
    每个Window 对象有一个响应文档对象(corresponding document object),可以通过调用 QueryIntrerface 方法中 IID_IHTMLDocument 或 IID_IHTMLDocument2 接口标识符获取. Windows 包含 HTML 文档集一般含有有效的文档对象; windows包含其他格式的文档集可能没有有效的文档对象.一般,在尝试获取一个不在当前window的Window的文档对象, 确保与window关联的资源文件是一个HTML 文档文件或者能被表示成 HTML 文档,比如,一个文本文件(text file).
    此 interface 在代码中也被称为 IOmDocument2.
    https://msdn.microsoft.com/en-us/library/aa752574(v=vs.85).aspx

    I have a winform and a WebBrowser control and I am changing an option in select HTML control.

    webBrowser1.Document
    .GetElementsByTagName("select")[4]
    .GetElementsByTagName("option")[13]
    .SetAttribute("selected", "true");
    Now it works and selects the required option, but it does not fire the onchange event. The select does not have an element id but it does have a class name.

    I tried:
    webBrowser1.Document
    .GetElementsByTagName("select")[4]
    .RaiseEvent("onchange");
    and
    webBrowser1.Document
    .GetElementsByTagName("select")[4]
    .GetElementsByTagName("option")[13]
    .RaiseEvent("onchange");

    I tried and sent a TAB key after selecting an option and it raised the onchange event.

    webBrowser1.Document.GetElementsByTagName("select")[4].Focus();
    webBrowser1.Document.GetElementsByTagName("select")[4]
    .GetElementsByTagName("option")[13].SetAttribute("selected", "true");
    SendKeys.Send("{TAB}");

  • 相关阅读:
    halcon 图像控件显示闪烁问题
    halcon中的面向对象,数据保存
    halcon图像合并(贴图到指定位置)
    如何快速创建Html头文件
    海康威视频监控设备Web查看系统(三):Web篇
    海康威视频监控设备Web查看系统(二):服务器篇
    海康威视频监控设备Web查看系统(一):概要篇
    求2个数的最小公倍数和最大公约数
    .NETCore3.0应用程序部署到CentOS7
    [转]Android Studio 1.3.1环境搭建
  • 原文地址:https://www.cnblogs.com/dennysong/p/5436374.html
Copyright © 2011-2022 走看看