webbrowser 执行网页中的JS

网页是jsp的,其中一个图片按钮对应的是JS代码:<tdclass="labelrow1"><imgsrc="images/gm_button_2.jpg"style="... 网页是jsp的,其中一个图片按钮对应的是JS代码:
<td class="labelrow1"><img src="images/gm_button_2.jpg" style="cursor:hand;" border="0" onclick="ajaxReset();" width="90" height="25"></td>

function ajaxReset()
{
var xmlhttp;
try
{
xmlhttp=new XMLHttpRequest();
} catch (e)
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (4==xmlhttp.readyState) {
if (200==xmlhttp.status){
var text=xmlhttp.responseText;

var ddarr=new Array();

ddarr=text.split("|");
var message=ddarr[0];
var dan=ddarr[1];
var shuang=ddarr[2];
var da=ddarr[3];
var xiao=ddarr[4];
var lon=ddarr[5];
var he=ddarr[6];
var hu=ddarr[7];
var fen=ddarr[8];
var status=ddarr[9];
var score=ddarr[10];

if (text.indexOf("游戏连接成功")>=0)
{
document.getElementById("message").value=message;
document.getElementById("scores").value=score;
setcoin('Layer1','h1',dan);
setcoin('Layer2','h2',da);
setcoin('Layer3','h3',lon);
setcoin('Layer4','h4',he);
setcoin('Layer5','h5',hu);
setcoin('Layer6','h6',xiao);
setcoin('Layer7','h7',shuang);
setcoin1('Layer8','h8',fen);
setstatus(status);
}
else
{
document.getElementById("message").value=text;
}
}
else
{
document.getElementById("message").value="与服务器通讯中断!"
}
}
}

xmlhttp.open("post","coinreset.jsp",true);
xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xmlhttp.send("");
}

我先用VB6.0的webbrowser打开这个网页,要VB自动点击这个图片按钮,要怎么做,本人刚学VB不久,还是个菜鸟,最好能给段代码,能附带说明更好。
展开
 我来答
w616141460
2015-10-11 · TA获得超过1596个赞
知道小有建树答主
回答量:490
采纳率:72%
帮助的人:81.4万
展开全部
  在界面上拖入QAxWidget并指定控件为{8856F961-340A-11D0-A96B-00C04FD705A2},这个值可以通过OleView.exe查到然后通过IHTMLWindow2接口的execScript方法执行Java

  在界面上拖入QAxWidget,注意这里不建议直接在UI设计界面指定控件,否则可能引起QtCreator崩溃
  建议在代码中动态设置,如:
  ui->axWidget->setControl("Shell.Explorer"); ui->axWidget->dynamicCall("Navigate(QString)", "C:/1.html");当然,上面的"C:/1.html"是我测试的页面

  这里的办法是通过IHTMLWindow2接口的execScript方法执行JavaScript函数。可惜的是这个方法不支持函数返回值
  #include <MsHTML.h> { QAxObject *document = ui->axWidget->querySubObject("Document"); IHTMLDocument2 *doc2; document->queryInterface(QUuid(IID_IHTMLDocument2), (void**)&doc2); if (doc2) { IHTMLWindow2 *win2 = nullptr; if (doc2->get_parentWindow(&win2) == S_OK) { BSTR s1 = SysAllocString(L"Test()"); BSTR s2 = SysAllocString(L"JavaScript"); VARIANT ret; win2->execScript(s1, s2, &ret); SysFreeString(s2); SysFreeString(s1); } } }
  JavaScript函数如下
  <script language="javascript" type="text/javascript"> function Test() { alert("你调用了全局函数Test"); } </script>
百度网友2d78d53c0
2009-03-08 · TA获得超过892个赞
知道小有建树答主
回答量:181
采纳率:0%
帮助的人:0
展开全部
webbrowser1.Document.parentWindow.execScript "ajaxReset()", "JavaScript"
让webbrowser1运行JS中的ajaxReset()函数
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式