C\#웹 브 라 우 저 를 사용 하여 시 뮬 레이 터 를 쓸 때 자바 script 스 크 립 트 호출 문제

오 랜 만 에 시 뮬 레이 터 코드 를 쓰 지 않 은 것 같 습 니 다.어제 디 버 깅 할 때 벽 에 부 딪 혀 서 기록 을 해서 여러분 이 저 와 같은 실 수 를 하지 않도록 하 겠 습 니 다.
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\#웹 브 라 우 저 를 사용 하여 시 뮬 레이 터 를 쓸 때의 자바 script 스 크 립 트 호출 문제 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기