当前位置:首页 > 计算机相关 > .net专区 > 正文内容

C# webbrowser模拟鼠标输入和键盘输入的方法,网上好多方法都不行,这个终于可以了

piikee7年前 (2015-11-05).net专区563
鼠标模拟点击的:
首先取得webbrowser的元素t: HtmlElement searchButton = eWB.Document.GetElementById("t");
我们点击一下鼠标,会触发三个事件,按顺序分别是mousedown,mouseup,click。这里不能直接invokemember一个mousedown,而是要onmousedown,意思是委托执行页面里面js等语言的onmousedown函数。
执行mousedown操作: searchButton.InvokeMember("onmousedown");
执行mouseup操作: searchButton.InvokeMember("onmouseup");
执行click操作: searchButton.InvokeMember("click");
键盘模拟输入的:
Keyword_a为要输入的一串字符,可以是各种字符包括中文,别担心,C#里面一个char是可以放一个中文字符的。
Char[] b = d_task.Keyword_a.ToCharArray();//把字符串变成char数组
for (int i = 0; i < b.Length; i++)//把char数组一个个通过sendkes输入
{
SendKeys.Send(b[i].ToString());
SendKeys.Flush();
delayTime(rd.Next(500, 2000));
}
这里送一个delaytime函数,可以在webbrowser执行输入等操作之后等一段时间,等它自己做自己的事情不会卡死
private void delayTime(double msecond)
{
DateTime tempTime = DateTime.Now;

while (tempTime.AddMilliseconds(msecond).CompareTo(DateTime.Now) > 0)
Application.DoEvents();
}

扫描二维码推送至手机访问。

版权声明:本文由萍客小居发布,如需转载请注明出处。

本文链接:https://www.piikee.net/1139.html

分享给朋友:

相关文章

C#的窗体(WinForm)退出杂谈

1、Winform点击退出按钮,需要确认再退出:private void MainForm_FormClosing(object sender, FormClosingEventArgs e){if (MessageBox.Show("是否...

SQL2005服务无法启动,错误代码3417的终极解决办法

sql2005,在服务管理里面启动sql的服务报出错误代码3417的错误。错误框提示为:“Windows不能在 本地计算机 启动 SQL Server(MSSQLSERVER)。有关更多信息,查阅系统事件日志。如果这是非Microsoft...

C#重写WndProc 方法实现无法关闭的窗体

在窗体的设计文件Form1.Designer.cs中重写WndProc 方法 ,实现拦截窗体特定消息。代码如下:protected override void WndProc(ref System.Windows.Forms.Message...

C#下winform和JS的互相调用和传参(webbrowser)

不多说,直接上代码,winform下button1调用js函数,从html页面获取值,然后JS调用WINFORM的函数,传送获取到的值到winform并通过messagebox的方法show出来。一步到位, winform调用JS函数 和J...

正则表达式简介及学习教程下载

正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 'a' 和 任意个 'b' ”,那么 'ab', 'abb', '...

C#中Split分隔字符串【用字符分隔和字符串分割】

C#中Split分隔字符串的应用1、用字符串分隔:using System.Text.RegularExpressions;string str="www.ruohuai.com||www.piikee.net||www.orz123.co...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。