GeckoFX DOM 요소를 JavaScript 탐색 호출에 전달
GeckoFX 웹 브라우저를 사용하는 경우 GeckoElement를 다음과 같이 JavaScript를 통해 전달할 수 있습니까?WebBrowser.Navigate("javascript:void("+ele.DomObject+".onclick())");
JavaScript를 통해 DOM 요소를 선택합니다 (이 작동은 괜찮음) atm이지만 C# 요소가 있습니다.
GeckoFX DOM 요소를 JavaScript 탐색 호출에 전달
GeckoFX 웹 브라우저를 사용하는 경우 GeckoElement를 다음과 같이 JavaScript를 통해 전달할 수 있습니까?WebBrowser.Navigate("javascript:void("+ele.DomObject+".onclick())");
JavaScript를 통해 DOM 요소를 선택합니다 (이 작동은 괜찮음) atm이지만 C# 요소가 있습니다.
불행히도 요소는 그런 자바 스크립트에 전달할 수 없습니다.
그러나 WebBrowser.Navigate 호출은 불필요하며 페이지 변수가 불필요하게 손실됩니다.
완성을 위해 필자는 자바 스크립트를 삽입 한 다음 해당 버튼을 탐색 할 필요없이 button.click() 핸들러를 통해 자동화 된 버튼 클릭으로 호출하는 스 니펫을 게시했습니다. 브라우저를 실행하십시오.
DOM.GeckoScriptElement script = Document.CreateElement("script").AsScriptElement();
script.Type = "text/javascript";
script.Text = "function doAlert(){ alert('My alert - fired by automating a button click on the [Automated Button]'); }";
Document.Body.AppendChild(script);
script = Document.CreateElement("script").AsScriptElement();
script.Type = "text/javascript";
script.Text = "function callDoAlert(id){ var el = document.getElementById(id); el.click(); }";
Document.Body.AppendChild(script);
DOM.GeckoInputElement button = Document.CreateElement("input").AsInputElement();
button.Type = "button";
button.Id = "myButton";
button.Value = "Automated Button";
button.SetAttribute("onclick", "javascript:doAlert();");
Document.Body.AppendChild(button);
DOM.GeckoInputElement button2 = Document.CreateElement("input").AsInputElement();
button2.Type = "button";
button2.Id = "myOtherButton";
button2.Value = "Press Me";
button2.SetAttribute("onclick", "javascript:document.getElementById('myButton').click();");
Document.Body.AppendChild(button2);
//uncomment to fully automate without the <webbrowser>.Navigate("javascript:.."); hack
//button2.click();
나는 그것이
보다 더 나은 방향을 가리 킵니다 확신이 코드는 컨트롤의 GFXe 빌드를 사용하는 방법에 주로 초점을 맞춘 것에 따라, 직접 당신을 도울 것입니다 모르겠지만WebBrowser.Navigate ("javascript : hack.goesHere()"); 장난.
다음으로이 작업을 수행 할 수 있습니다
WebBrowser.Navigate("javascript:void(document.getElementById('"+button.Id+"').click())");
사악한. 저는 현재 선택된 GeckoFX DOM을 JS 친숙한 walkable DOM으로 캐스팅하려고합니다.이 방법은 내가 사용해온 탐색 해킹보다 훨씬 낫습니다. 나는이 방법을 시험해야 할 것이다, 감사 스캇. – brokkc