`
hereson
  • 浏览: 1449672 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

C# ,webBrowser,登录,数据填充,模拟点击链接,运行JS函数,检测网页是否载入完成

 
阅读更多

判断是否网络正常

private   bool IsConnectedToInternet()

{

    int Desc;

    return internet.InternetGetConnectedState(out   Desc, 0);

}   

设置默认页面:

webBrowser1.Navigate(new Uri("http://www.ic2ic.com/copy.jsp"));

登录代码:

private void btnlogin_Click(object sender, EventArgs e)

{

     webBrowser1.Document.GetElementById("id").InnerText =txtuser.Text.ToString().Trim();//fill name

       webBrowser1.Document.GetElementById("passwd").InnerText =txtpwd.Text.ToString().Trim();//fill pwd

         HtmlElement formLogin = webBrowser1.Document.Forms["frmLogin"];

        formLogin.InvokeMember("submit");

        Thread.Sleep(5000);

        herfclick("http://www.ic2ic.com/upload.jsp");//这是登录成功的操作,跳转到//upload.asp

     //注意不是直接跳过去的,模拟点击链接

      //SESSION不会丢失

      herfclick("http://www.ic2ic.com/copy.jsp");

}

模拟点击链接:

private void herfclick(string url)

{

      for (int i = 0; i < webBrowser1.Document.All.Count; i++)

      {

          if (webBrowser1.Document.All[i].TagName == "A" && webBrowser1.Document.All[i].GetAttribute("href").ToString().Trim() ==url)

          {

                 webBrowser1.Document.All[i].InvokeMember("click");//引发”CLICK”事件

                 break;

        }

    }

}

运行网页中的JS函数

private void callJsMethod(string jsfun,string jsParameter)//函数名字,函数参数

{

         HtmlDocument doc = webBrowser1.Document;

         doc.InvokeScript(jsfun,new object[]...{jsParameter});

}

填充数据:

private void filldate(string txt)

{

       HtmlElement frmWord = webBrowser1.Document.Forms["frmWord"];//找到from

      HtmlElementCollection txtarea = frmWord.GetElementsByTagName("TEXTAREA");

       HtmlElementCollection radio = frmWord.GetElementsByTagName("INPUT");

       radio[2].InvokeMember("click");//选择radio控件

      txtarea[0].InnerText = txt.ToString();

}

原理很简单,在webBrowser1的DocumentCompleted事件中判断一下当前完成的url地址,如果当前完成url和当初要打开的url相等,就确定当前网页已经加载完成

//string strURL 要找开的页面的URL
        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            if (e.Url.ToString().Trim() == strURL.Trim())
            {
                //已经加载完成
            }       

}

控制流动条

webBrowser1.Document.Window.ScrollTo(100, 100);//滚动到你要的坐标,以像素为单位

http://nuil.cn

分享到:
评论

相关推荐

    C# WebBrowser获取网站数据

    总结来说,C# WebBrowser控件提供了一种有效的方法来模拟浏览器行为,绕过反爬虫策略并获取网页数据。结合适当的事件处理和HTML解析技术,我们可以实现强大的网页数据抓取功能。不过,务必尊重网站的robots.txt规则...

    C# 利用WebBrowser获取网页信息

    在.NET框架中,C#提供了一个内置的控件——`WebBrowser`,它允许开发者在应用程序内部嵌入一个浏览器引擎,从而实现与网页交互的功能。本篇将详细讲解如何利用C#的`WebBrowser`控件来获取网页信息,包括HTML源代码、...

    C# WebBrowser页面内容缩放

    在.NET框架中,C#提供了一个内置的控件——`WebBrowser`,它允许开发者在Windows应用程序中嵌入一个浏览器引擎,以便展示网页内容。这个控件基于Internet Explorer的渲染引擎,因此它能够处理HTML、CSS和JavaScript...

    C#WebBrowser导出网页所有图片

    在C#编程环境中,开发一个能够导出网页所有图片的小项目是一项实用且有趣的技术实践。这个项目主要涉及以下几个核心知识点: 1. **C#基础**:C#是一种面向对象的编程语言,由微软公司开发,广泛应用于Windows平台的...

    C#判断webbrowser页面最终加载完成

    在C#编程中,WebBrowser控件是一个非常实用的组件,它允许我们在Windows应用程序中嵌入网页浏览功能。然而,WebBrowser控件的加载过程并不是即时完成的,它需要加载HTML、CSS、JavaScript以及所有相关的资源。因此,...

    C# webbrowser控件执行js脚本源码

    ### C# WebBrowser 控件执行 JS 脚本源码详解 #### 一、概述 在.NET Framework中,`WebBrowser`控件是基于ActiveX技术实现的一个浏览器组件,允许开发者在自己的应用程序中嵌入一个完整的浏览器环境。通过这个控件...

    C# webbrowser实现自动登录淘宝

    - 提交表单:模拟点击登录按钮,可以找到提交按钮元素,如`登录"&gt;`,然后调用其`InvokeMember("click")`方法。 3. **身份验证机制**: - 淘宝登录通常会涉及Cookie管理,因为网站会将用户信息存储在Cookie中。在...

    C# WebBrowser 任意切换IE版本

    然而,`WebBrowser`控件默认使用的IE版本可能会因系统配置而异,这可能导致在某些情况下无法正确显示网页或执行特定JavaScript功能。本篇将深入探讨如何利用C#编程来控制`WebBrowser`控件,使其能够任意切换到所需的...

    C# WebBrowser获取网页截图

    本篇将深入探讨如何利用C#的`WebBrowser`控件获取网页的截图,并通过`DrawToBitmap`方法实现图像的绘制。 首先,我们需要了解`WebBrowser`控件的基本用法。`WebBrowser`控件可以加载URL,执行JavaScript,甚至与...

    C# 用WebBrowser实现的多页面浏览器

    通常,每个标签页都会对应一个独立的WebBrowser对象,当用户点击新的链接或者手动新建标签页时,程序会创建一个新的WebBrowser实例,并在其中加载相应的网页。同时,为了实现标签页之间的切换,需要维护一个标签页...

    picture_C#_C#webBrowser_网页保存_源码

    在本主题中,我们将深入探讨如何使用C#中的`WebBrowser`控件来读取网页,并将网页内容保存为图像文件,如PNG、JPG和BMP格式。`WebBrowser`控件是一个强大的组件,它允许开发者在应用程序中嵌入浏览器功能,能够加载...

    C# webBrowser 使用Chrome内容案例

    在.NET框架中,`WebBrowser`控件是一个强大的工具,允许开发者在Windows应用程序中嵌入一个基于Internet Explorer的浏览器引擎。然而,随着现代网页技术的发展,IE内核逐渐显得过时,不能很好地支持HTML5和其他高级...

    c# winform webbrowser页面中js调用winform类方法

    这个过程通常涉及到JavaScript(js)调用WinForm类的方法,以实现一些特定功能或者获取数据。本文将深入探讨如何实现这一功能,并基于提供的"jsInWebBrowserCallCSharpMethod"示例进行详细解释。 首先,我们需要...

    webbrowser模拟点击按钮

    // 模拟点击登录按钮 HtmlElementCollection hcbtn = formLogin.GetElementsByTagName("input"); foreach (HtmlElement i in hcbtn) { if (i.GetAttribute("name") == "login") { i.InvokeMember("click"); } } ...

    C#中WebBrowser控件的简单调用

    5,实现点链接而不弹窗,右击WebBrowser控件选择属性,在相应属性面板中查看它所支持的事件,激活NewWindow事件,在事件函数中添加如下代码; private void webBrowser1_NewWindow(object sender, CancelEventArgs ...

    C#生成Html并在WebBrowser中显示

    例如,你可以通过`webBrowser1.Document.InvokeScript("myJavaScriptFunction", parameters)`来调用JavaScript函数,并传递参数。 在实际项目中,C#生成HTML并显示在WebBrowser控件中常用于生成报表、自定义查看器...

    C# webbrowser捕获错误页面实例类

    在.NET Framework中,C#的`WebBrowser`控件是一个非常实用的组件,它允许开发者在Windows应用程序中嵌入一个基于Internet Explorer内核的浏览器。然而,在使用`WebBrowser`控件浏览网页时,可能会遇到各种错误,如...

    C#获取WebBrowser中的cookie和userAgent

    在C#的WebBrowser控件中,可以通过`WebBrowser.ObjectForScripting`属性设置一个对象,然后在JavaScript中读取navigator.userAgent,再通过该对象传递回C#。以下是一个例子: 1. 首先,定义一个公共方法供...

    C# Webbrowser+Flash 点击

    本项目涉及的关键技术是使用C#的WebBrowser控件来实现对网页的访问,并能够与网页中的Flash内容进行交互,比如点击网页游戏等。下面我们将详细探讨这些知识点。 1. **C# WebBrowser控件**: C#中的WebBrowser控件...

Global site tag (gtag.js) - Google Analytics