`
- 浏览:
1449672 次
- 性别:
- 来自:
苏州
-
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
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
总结来说,C# WebBrowser控件提供了一种有效的方法来模拟浏览器行为,绕过反爬虫策略并获取网页数据。结合适当的事件处理和HTML解析技术,我们可以实现强大的网页数据抓取功能。不过,务必尊重网站的robots.txt规则...
在.NET框架中,C#提供了一个内置的控件——`WebBrowser`,它允许开发者在应用程序内部嵌入一个浏览器引擎,从而实现与网页交互的功能。本篇将详细讲解如何利用C#的`WebBrowser`控件来获取网页信息,包括HTML源代码、...
在.NET框架中,C#提供了一个内置的控件——`WebBrowser`,它允许开发者在Windows应用程序中嵌入一个浏览器引擎,以便展示网页内容。这个控件基于Internet Explorer的渲染引擎,因此它能够处理HTML、CSS和JavaScript...
在C#编程环境中,开发一个能够导出网页所有图片的小项目是一项实用且有趣的技术实践。这个项目主要涉及以下几个核心知识点: 1. **C#基础**:C#是一种面向对象的编程语言,由微软公司开发,广泛应用于Windows平台的...
在C#编程中,WebBrowser控件是一个非常实用的组件,它允许我们在Windows应用程序中嵌入网页浏览功能。然而,WebBrowser控件的加载过程并不是即时完成的,它需要加载HTML、CSS、JavaScript以及所有相关的资源。因此,...
### C# WebBrowser 控件执行 JS 脚本源码详解 #### 一、概述 在.NET Framework中,`WebBrowser`控件是基于ActiveX技术实现的一个浏览器组件,允许开发者在自己的应用程序中嵌入一个完整的浏览器环境。通过这个控件...
- 提交表单:模拟点击登录按钮,可以找到提交按钮元素,如`登录">`,然后调用其`InvokeMember("click")`方法。 3. **身份验证机制**: - 淘宝登录通常会涉及Cookie管理,因为网站会将用户信息存储在Cookie中。在...
然而,`WebBrowser`控件默认使用的IE版本可能会因系统配置而异,这可能导致在某些情况下无法正确显示网页或执行特定JavaScript功能。本篇将深入探讨如何利用C#编程来控制`WebBrowser`控件,使其能够任意切换到所需的...
本篇将深入探讨如何利用C#的`WebBrowser`控件获取网页的截图,并通过`DrawToBitmap`方法实现图像的绘制。 首先,我们需要了解`WebBrowser`控件的基本用法。`WebBrowser`控件可以加载URL,执行JavaScript,甚至与...
通常,每个标签页都会对应一个独立的WebBrowser对象,当用户点击新的链接或者手动新建标签页时,程序会创建一个新的WebBrowser实例,并在其中加载相应的网页。同时,为了实现标签页之间的切换,需要维护一个标签页...
在本主题中,我们将深入探讨如何使用C#中的`WebBrowser`控件来读取网页,并将网页内容保存为图像文件,如PNG、JPG和BMP格式。`WebBrowser`控件是一个强大的组件,它允许开发者在应用程序中嵌入浏览器功能,能够加载...
在.NET框架中,`WebBrowser`控件是一个强大的工具,允许开发者在Windows应用程序中嵌入一个基于Internet Explorer的浏览器引擎。然而,随着现代网页技术的发展,IE内核逐渐显得过时,不能很好地支持HTML5和其他高级...
这个过程通常涉及到JavaScript(js)调用WinForm类的方法,以实现一些特定功能或者获取数据。本文将深入探讨如何实现这一功能,并基于提供的"jsInWebBrowserCallCSharpMethod"示例进行详细解释。 首先,我们需要...
// 模拟点击登录按钮 HtmlElementCollection hcbtn = formLogin.GetElementsByTagName("input"); foreach (HtmlElement i in hcbtn) { if (i.GetAttribute("name") == "login") { i.InvokeMember("click"); } } ...
5,实现点链接而不弹窗,右击WebBrowser控件选择属性,在相应属性面板中查看它所支持的事件,激活NewWindow事件,在事件函数中添加如下代码; private void webBrowser1_NewWindow(object sender, CancelEventArgs ...
例如,你可以通过`webBrowser1.Document.InvokeScript("myJavaScriptFunction", parameters)`来调用JavaScript函数,并传递参数。 在实际项目中,C#生成HTML并显示在WebBrowser控件中常用于生成报表、自定义查看器...
在.NET Framework中,C#的`WebBrowser`控件是一个非常实用的组件,它允许开发者在Windows应用程序中嵌入一个基于Internet Explorer内核的浏览器。然而,在使用`WebBrowser`控件浏览网页时,可能会遇到各种错误,如...
在C#的WebBrowser控件中,可以通过`WebBrowser.ObjectForScripting`属性设置一个对象,然后在JavaScript中读取navigator.userAgent,再通过该对象传递回C#。以下是一个例子: 1. 首先,定义一个公共方法供...
本项目涉及的关键技术是使用C#的WebBrowser控件来实现对网页的访问,并能够与网页中的Flash内容进行交互,比如点击网页游戏等。下面我们将详细探讨这些知识点。 1. **C# WebBrowser控件**: C#中的WebBrowser控件...