感觉很久不写模拟器代码了,昨天调试的时候碰了点壁,记录下来,避免大家再跟我犯同样的错误。
加入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脚本调用问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
我需要从AnyLogic调用R脚本。我有一个代理“传感器”,它将从一个特定的位置发送一个随机文件到一个R脚本,然后R脚本将分析该文件,并让我们知道该文件的类型(图像、声音、文本等) 请让我知道如何从AnyLogic调用R脚本。。
问题内容: 我有一个带有一个单一函数的DLL,它具有五个双精度和一个整数: 它重新调整了由三重数组组成的自定义结构计算的res: 要返回值,我这样做: 我已经用MinGW对其进行了编译,并且试图在python中使用它来执行以下操作: 但是,每当我尝试使用这些值调用函数时,都会将其抛出: 我也不知道如何捕获我声明的自定义结构并将其每个元素转换为Python浮点数。我研究了这个PyDocs链接,但无济
本文向大家介绍C#使用webbrowser的常见用法实例,包括了C#使用webbrowser的常见用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#使用webbrowser的常见用法。分享给大家供大家参考。具体如下: 判断是否网络正常 设置默认页面: 登录代码: 模拟点击链接: 运行网页中的JS函数 填充数据: 希望本文所述对大家的C#程序设计有所帮助。
我有一个Java程序来调用python脚本。我使用了exec方法。请在下面找到代码片段: Python程序(从维基百科收集一部分文本)单独运行时,可以提供适当的输出。当从Java调用时,我无法从python程序获得完整的输出。 我使用ready()方法检查了BufferedReader对象的状态(如本文所述,代码进入了无限循环)。 我认为其他人也面临着类似的问题-https://stackover
问题内容: 我正在尝试编写一个JUnit测试用例,用于测试助手类中的方法。该方法使用REST调用外部应用程序,而这正是我试图在JUnit测试中模拟的调用。 helper方法使用Spring的RestTemplate进行REST调用。 在测试中,我创建了一个模拟REST服务器和一个模拟REST模板,并按如下所示实例化它们: 然后,我给模拟服务器添加种子,以便当助手方法进行REST调用时它应返回适当的
我正在使用selenium java script exceuter执行下面的javascript,我想从fetch调用返回响应,并想将其存储在代码中的java变量中。但下面的代码显示了脚本超时,有什么建议吗?我怎样才能达到以上要求???