webbrowser 提交按钮没反应的问题解决办法
下午做webbrowser登陆和讯博客发贴,遇到两个问题
一 webbrowser填写好登陆框,点登陆按钮没有反映。我确定webbrowser正确找到了登陆按钮。这个登陆按钮有 click事件,被点击时会触发一个javascript函数,但是应该没区别啊。即使那个函数里有做了什么,webbrowser点击登陆按钮应该也会 像手工点击一样触发整个函数过程吧。至今没有找到原因,采取的解决办法是从其他登陆框登陆进去了。现在门户网站都有通行证一说,很多地方都可以登陆,一旦 登陆,就可以访问网站的所有应用,比如邮箱、博客、相册等。
二 提交日记的时候,webbrowser点提交按钮,又没反应。
提交日记只能点这个地方的提交按钮,可没有其他地方可以替代。不过这次找到原因了,
那个按钮有click和mousedown两个javascript事件函数。手动点击,会先触发鼠标的mousedown事件函数,再触发click事件函数;
而webbrowser点击时候,就只触发了click事件函数。因此要用程序补上mousedown函数里的操作,之后webbrowser再提交,OK了!
btn.Focus();
btn.InvokeMember("mousedown");
btn.InvokeMember("click");
btn.InvokeMember("onmousedown");
btn.InvokeMember("onclick");