问题描述
之前用webbrowser做模拟点击的时候地址里会有SPM值,现在的情况是当淘宝搜索而在webbrowser里加载好之后,spmr的值需要触发才会加载,没有触发的话SPM的值是没有的,
解决方案
解决方案二:
这个有帮助吗?http://bbs.csdn.net/topics/390595823?page=1#post-395765652
解决方案三:
用link.InvokeMember("Click");这种模拟点击,应该有SPM值吧
解决方案四:
本帖最后由 bzyhd 于 2015-10-06 09:15:49 编辑
解决方案五:
引用2楼findcaiyzh的回复:
用link.InvokeMember("Click");这种模拟点击,应该有SPM值吧
两个月前还是有的,只不过淘宝这次做了调整,JS必须要触发之后才会去计算SPM值,并加到A标签。比如我人工右键点击一下才会算出来。
解决方案六:
引用3楼urlguest的回复:
以前做个自动登VPN通道,也有webbrowser。现在也想做模拟点击。有个问题,这样做采集数据可以,但是做店推,是不是淘宝后台统计的浏览器来源,会有问题?
没错的店推的时候没有SPM值,量子没有数据
解决方案七:
引用1楼findcaiyzh的回复:
这个有帮助吗?http://bbs.csdn.net/topics/390595823?page=1#post-395765652
这个贴子我看了很多次了。我的问题是在这个贴子之后发生的,所以感觉这个贴子太久了,应该帮不了我。
解决方案八:
用那个帖子里的方法,写了个小程序,可以的啊。button2_Click查看a的href值,button1_Click模拟点击link.先点button2,没有spm,再点button1,再点button2,有spm了。privatevoidForm2_Load(objectsender,EventArgse){webBrowser1.Navigate("http://world.taobao.com/search/search.htm?_ksTS=1444099791341_35&spm=2015090702&_input_charset=utf-8&navigator=all&json=on&q=lego&callback=__jsonp_cb&cna=1whTDlPnxTwCActugwUGbUwN&abtest=_AB-LR517-PR517");}privatevoidbutton2_Click(objectsender,EventArgse){varlinks=webBrowser1.Document.GetElementsByTagName("a");foreach(HtmlElementlinkinlinks){StringitemId=link.GetAttribute("item-id");if(!string.IsNullOrEmpty(itemId)){stringurl=link.GetAttribute("href");MessageBox.Show(url);//return;}}}privatevoidbutton1_Click(objectsender,EventArgse){varlinks=webBrowser1.Document.GetElementsByTagName("a");foreach(HtmlElementlinkinlinks){StringitemId=link.GetAttribute("item-id");if(!string.IsNullOrEmpty(itemId)){object[]paras=new[]{"onmousedown"};link.InvokeMember("fireEvent",paras);}}MessageBox.Show("rightclickdone");}