描述:
大家好,
下面这段html代码是什么意思
data-click="{ 'F':'57A717EA', 'F1':'9D73F1E4', 'F2':'4CA6DE6B', 'F3':'54E5243F', 'T':'1351415375', 'y':'9F195FCF' }"
是链接的参数吗?还是什么?
我如果要用
CWebBrowser2的Navigate 来模拟点击像下面的链接(要跟手工点的完全一致),应该怎么传参数?
<h3 class="t"><a data-click="{ 'F':'57A717EA', 'F1':'9D73F1E4', 'F2':'4CA6DE6B', 'F3':'54E5243F', 'T':'1351415375', 'y':'9F195FCF' }" href="http://www.baidu.com/link?url=a78edb30fc293c5e471ef23de092fddc99e8cd902143baf828cbc787e08f0e263c41a1eb69d0af9c29a847806dfec5044ebb0052e0758fb1b549b1b5575d1d01c067" target="_blank" >
解决方案1:
需要支持html5的浏览器这个数据才有意义,CWebBrowser2 操作时,此数据应该会丢失。
解决方案2:很多年前我用VB VC 都写过这些东西,做网络蜘蛛或自动化测试之类的,实现起来没有问题,有很多方法,还有一个办法就是你把HTTP协议搞透,一个页面到另外一个页面的HTTP请求是可以截获的,这样就能实现录制的另外一种思路 解决方案3:
想和手工的一样可以控制鼠标去直接点击,只要能在界面上找到这个连接对象,编程实现也不难
解决方案4:json格式的数据,可以被js给变量直接赋值并操作
解决方案5: 尝试下,没测试啊
CWebBrowser2 cwb;
CString url= "http://www.baidu.com/";
COleVariant var;
VARIANT varStr;
varStr.vt = VT_BSTR;
varStr.bstrVal = url.AllocSysString();
cwb.Navigate2(&varStr,&var,&var,&var,&var);
HTML5的一个特征。可以用这个data- 来传值,这样Javascript的API就能调用。
所以说如果你要用CWebBrowser2的Navigate模拟打开baidu连接,其实没什么关系,最多损失点特效