使用C# 的webBrowser写模拟器时的javascript脚本调用问题
发布时间 - 2026-01-11 02:15:29 点击率:次感觉很久不写模拟器代码了,昨天调试的时候碰了点壁,记录下来,避免大家再跟我犯同样的错误。

加入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#
# webbrowser
# javascript模拟器脚本
# 利用FlubuCore用C#来写DevOps脚本的方法详解
# C#调用python脚本的方法步骤(2种)
# 在VS2017中用C#调用python脚本的实现
# 微信跳一跳自动脚本C#代码实现
# C#调用Python脚本的简单示例
# 总结ASP.NET C#中经常用到的13个JS脚本代码
# C#创建数据库及导入sql脚本的方法
# C#利用ScriptControl动态执行JS和VBS脚本
# 在C#中调用VBScript、javascript等脚本的实现代码
# 常用工具之 vb转化C# 数据连接串 正则表达式查询 源码世界 脚本字典
# C# 脚本引擎CS-Script的使用
# 鼠标
# 小编
# 的是
# 在此
# 很久
# 给大家
# 来实现
# 所述
# 给我留言
# 感谢大家
# 碰了
# 不写
# 再跟
# 疑问请
# 有任何
# 直接发
# 昨天
# window
# alert
# Body
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何有效防御Web建站篡改攻击?
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
Android滚轮选择时间控件使用详解
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
如何快速生成ASP一键建站模板并优化安全性?
Linux网络带宽限制_tc配置实践解析【教程】
瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口
高端智能建站公司优选:品牌定制与SEO优化一站式服务
使用豆包 AI 辅助进行简单网页 HTML 结构设计
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
怎样使用JSON进行数据交换_它有什么限制
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
高端企业智能建站程序:SEO优化与响应式模板定制开发
如何在Windows服务器上快速搭建网站?
个人摄影网站制作流程,摄影爱好者都去什么网站?
高防服务器租用首荐平台,企业级优惠套餐快速部署
Laravel Fortify是什么,和Jetstream有什么关系
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
中国移动官方网站首页入口 中国移动官网网页登录
油猴 教程,油猴搜脚本为什么会网页无法显示?
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
iOS验证手机号的正则表达式
Python正则表达式进阶教程_复杂匹配与分组替换解析
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
昵图网官网入口 昵图网素材平台官方入口
javascript基本数据类型及类型检测常用方法小结
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
Python文件异常处理策略_健壮性说明【指导】
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
如何在新浪SAE免费搭建个人博客?
轻松掌握MySQL函数中的last_insert_id()
html5的keygen标签为什么废弃_替代方案说明【解答】
如何快速查询网站的真实建站时间?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
如何在宝塔面板中修改默认建站目录?
打开php文件提示内存不足_怎么调整php内存限制【解决方案】
如何在香港免费服务器上快速搭建网站?
Python自然语言搜索引擎项目教程_倒排索引查询优化案例
Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】
活动邀请函制作网站有哪些,活动邀请函文案?
如何快速上传建站程序避免常见错误?
教你用AI润色文章,让你的文字表达更专业
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
如何在建站之星网店版论坛获取技术支持?
如何快速查询网址的建站时间与历史轨迹?
如何为不同团队 ID 动态生成多个独立按钮

