雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C#教程

當前位置:主頁 > 軟件編程 > C#教程 >

使用C# 的webBrowser寫模擬器時的javascript腳本調(diào)用問題

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C#教程|點擊:

感覺很久不寫模擬器代碼了,昨天調(diào)試的時候碰了點壁,記錄下來,避免大家再跟我犯同樣的錯誤。

加入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);

調(diào)用的地方:

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

大家特別注意的是后面腳本調(diào)用的時候,只能出現(xiàn)函數(shù)名與參數(shù)值列表,不能增加其他內(nèi)容,否則調(diào)用就不會成功。

使用的腳本代碼:(這里的腳本代碼模擬了鼠標移動的基礎需求,通過Js直接發(fā)鼠標事件的方式來實現(xiàn)自動機器人)

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腳本調(diào)用問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對我們網(wǎng)站的支持!

上一篇:C#使用dir命令實現(xiàn)文件搜索功能示例

欄    目:C#教程

下一篇:C# WinForm實現(xiàn)窗體上控件自由拖動功能示例

本文標題:使用C# 的webBrowser寫模擬器時的javascript腳本調(diào)用問題

本文地址:http://www.jygsgssxh.com/a1/C_jiaocheng/5589.html

網(wǎng)頁制作CMS教程網(wǎng)絡編程軟件編程腳本語言數(shù)據(jù)庫服務器

如果侵犯了您的權利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權所有