使用C# 的webBrowser写模拟器时的javascript脚本调用问题

 更新时间:2017年07月10日 08:52:57   作者:jackxinxu2100  
这篇文章主要介绍了C# 的webBrowser写模拟器时的javascript脚本调用问题,需要的朋友可以参考下

感觉很久不写模拟器代码了,昨天调试的时候碰了点壁,记录下来,避免大家再跟我犯同样的错误。

加入Javascript脚本的地方:

HtmlElement jsElement = webBrowser1.Document.CreateElement("script");
jsElement.SetAttribute("type", "text/javascript");
jsElement.SetAttribute("text", "showMeAction = function(e) { window.alert(e);}");
webBrowser1.Document.Body.AppendChild(jsElement);

调用的地方:

string[] args = new string[1];
args[0] = "Hello element!";
webBrowser1.Document.InvokeScript("showMeAction", args);

大家特别注意的是后面脚本调用的时候,只能出现函数名与参数值列表,不能增加其他内容,否则调用就不会成功。

使用的脚本代码:(这里的脚本代码模拟了鼠标移动的基础需求,通过Js直接发鼠标事件的方式来实现自动机器人)

function createEvent(eventName, ofsx, ofsy)
{ 
  var evt = document.createEvent('MouseEvents'); 
  evt.initMouseEvent(eventName, true, false, null, 0, 0, 0, ofsx, ofsy, false, false, false, false, 0, null); 
  return evt; 
}
function moveElement(pxToMove)
{
var sliderKnob = document.getElementsByClassName("gt_slider_knob")[0]; 
var boxRect = sliderKnob.getBoundingClientRect();
var move = createEvent('mousemove', boxRect.left + sliderKnob.offsetLeft + pxToMove, boxRect.top + sliderKnob.offsetTop); 
var down = createEvent('mousedown', boxRect.left + sliderKnob.offsetLeft, boxRect.top + sliderKnob.offsetTop);
var up = createEvent('mouseup'); 
sliderKnob.dispatchEvent(down); 
document.dispatchEvent(move); 
sliderKnob.dispatchEvent(up); 
}

以上所述是小编给大家介绍的使用C# 的webBrowser写模拟器时的javascript脚本调用问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • C#(int)中Convert、Parse、TryParse的区别

    C#(int)中Convert、Parse、TryParse的区别

    Convert.ToInt32、int.Parse(Int32.Parse)、int.TryParse、(int) 四者都可以解释为将类型转换为 int,那它们的区别是什么呢?
    2013-04-04
  • 将excel数据转换成dataset示例

    将excel数据转换成dataset示例

    这篇文章主要介绍了不借助第三方插件的情况下将Excel中的数据转换成DataSet的方法,需要的朋友可以参考下
    2014-02-02
  • C# XML文件操作之相机参数保存和读取

    C# XML文件操作之相机参数保存和读取

    XML是可扩展标记语言是一种数据语言,它将数据以一种简单的文本格式存储,可以被人类和几乎任何计算机理解。本文将利用C#实现相机参数读取并保存至XML文件,感兴趣的可以学习一下
    2022-11-11
  • C#连续任务Task.ContinueWith方法

    C#连续任务Task.ContinueWith方法

    这篇文章介绍了C#中的连续任务Task.ContinueWith方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • C#图片按比例缩放实例

    C#图片按比例缩放实例

    这篇文章主要为大家详细介绍了C#图片按比例缩放的实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • C#实现并查集的使用示例

    C#实现并查集的使用示例

    并查集是一种用于处理一些不相交集合的合并及查询问题的数据结构,具有高效、简洁、易用的特点,本文主要介绍了C#实现并查集的使用示例,感兴趣的可以了解一下
    2023-11-11
  • C#实现图片放大功能的按照像素放大图像方法

    C#实现图片放大功能的按照像素放大图像方法

    这篇文章主要介绍了C#实现图片放大功能的按照像素放大图像方法,功能非常实用,需要的朋友可以参考下
    2014-07-07
  • Winform实现抓取web页面内容的方法

    Winform实现抓取web页面内容的方法

    这篇文章主要介绍了Winform实现抓取web页面内容的方法,代码只有短短几行,但是功能很实用,需要的朋友可以参考下
    2014-09-09
  • C#使用Socket实现局域网聊天

    C#使用Socket实现局域网聊天

    这篇文章主要为大家详细介绍了C#使用Socket实现局域网聊天的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • C#读取视频的宽度和高度等信息的方法

    C#读取视频的宽度和高度等信息的方法

    这篇文章主要介绍了C#读取视频的宽度和高度等信息的方法,通过执行一条CMD命令来实现读取视频宽度和高度的功能,具有不错的实用价值,需要的朋友可以参考下
    2014-11-11

最新评论