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

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

piikee7年前 (2015-11-05).net专区332
鼠标模拟点击的:
首先取得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

分享给朋友:

相关文章

ASP.NET写的文件上传简单程序

Default.aspx  <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="FileUpload._Defaul...

Visual Studio 2008 安装出错 无法安装 的解决办法

1 安装vs2008 team 中文正式版,会出现deffactory.dat读取错误。解决方案:进入那个文件夹。替换deffactory.dat ,新建一个文本文档,把下面的内容粘贴进去,然后保存替换覆盖这个文件。或者用 打开,删除原有的...

AjaxControlToolkit中各个控件功能说明

1.Accordion控件1.1【功能概述】Accordion可以让你设计多个panel 并且一次只显示一个Panel .在页面上的显示效果就像是使用了多个CollapsiblePanels只不过每一次只展开其中一个CollapsibleP...

div中英文无法自动换行的解决办法

问题:在一个设定好宽度的div中,当我们输入的中文文字长度超过了设定宽度时,会自动换到下一行。但是,如果输入的是英文字母,那么,无论你div设定宽度为多少,英文字母都是不换行直接在同一行输出,导致div的宽度远远超出设定的大小。原因:这是因...

zedgraph去掉右键菜单中的选项

在zedgraph生成的图表中,右键菜单会出现”恢复默认大小“等菜单项,这些选项可以通过如下方法去掉。方法一:没有zedgraph源文件的情况:在zedGraph控件中的ContextMenuBuilder事件中加入如下操作:private...

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

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

发表评论

访客

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