|
本帖最后由 weizhuce 于 2017-1-23 00:11 编辑
亲爱滴站长及广大盆友,我有三个小问题想请教下站长及对此了解的盆友。希望各位能帮我解决这个问题如题:
系统:win7 64bit
软件:vs2013版
语言:vbnet
概述:最近编一个网页表单数据填写小软件,需要用到webbrowser但是碰到一些问题
第一个问题,也是最主要的问题
在vbnet中建立webbrowser1(简称wbr1),webbrowser2(简称wbr2)打开指定网站(内网,需要账号密码登录)在wbr1中输入账号密码登录成功后在查询数据之后新打开的页面(即wbr2)始终不能跳转到连接中指定的地址中(在浏览器中完全正常)在点击本该跳转的页面时却执行的是当前页面的重新打开(即wbr2中显示的查询数据的页面)。
部分网页源码如下:
WebBrowser所获取的地址 WebBrowser1.Document.Url.AbsoluteUri "http://10.18.19.110:119/EHR_Arch_BasicInfo/index.jsp"(当前地址) String
当前链接1元素源码<A href="javascript:void openDetail('2016122561040028553' , 'XXXXXXXXXXXXXXXXXX')">个人中心_<FONT color=red>链01</FONT></A>
当前链接2元素源码<A href="javascript:void browseDetail('2016122561040028553', 'XXXXXXXXXXXXXXXXXX')">充值中心_<FONT color=red>链02</FONT></A>
实际地址(复制于浏览器)http://10.18.19.110:119/EHR_Arch ... XXXXXXX&opType=jkda
<SPAN style="WIDTH: 163px" title=SPAN_13><A href="javascript:void openDetail('2016122561040028553' , 'XXXXXXXXXXXXXXXXXX)">个人中心_<FONT color=red>链01</FONT></A> | <A href="javascript:void browseDetail('2016122561040028553', 'XXXXXXXXXXXXXXXXXX')">充值中心_<FONT color=red>链02</FONT></A></SPAN>
备注以上数据中XXXXXXXXXXXXXXXXXX为身份证号码
我抓取网页数据包得到的数据是
1.get http://10.18.19.110:119/EHR_Arch ... XXXXXXX&opType=jkda
2.返回 http:/10.11.2017 ok
3.get http://10.18.19.110:119/common/default.html
4.返回 http:/10.11.2017 ok
5.get http://10.18.19.110:119/EHR_Arch ... 0.33570838331545283
6.返回 http:/10.11.2017 ok
以上数据中的详细内容大致就是读取cookie,保持连接,计算机系统信息,登录用户名等等之类的
现在的问题就是在wbr中我点击连接01和02不能获取 实际地址(复制于浏览器),而获取的是WebBrowser所获取的地址 WebBrowser1.Document.Url.AbsoluteUri "http://10.18.19.110:119/EHR_Arch_BasicInfo/index.jsp"(当前地址),实际地址应该是个js拼接的
但是我认为我不需要了解他是怎么获取的这个连接,我只需要你按照自己将要跳转页面前在事件WebBrowser1_NewWindow把地址赋值给newurl就可以了,问题是我为什么不能获取我要的地址,而浏览器却可以。求解。
第二个问题,对于类似于网页注册页面中的<国家><省市><区县>的联动代码怎么写,以腾讯注册页面国家选择联动为例(https://ssl.zc.qq.com/chs/)
Me.WebBrowser1.Document.GetElementById("country_value").SetAttribute("value", "阿富汗")
Me.WebBrowser1.Document.GetElementById("country_value").RaiseEvent("onchange")
执行后不能实现联动,为何?
第三个问题,这个内网中有一个菜单,菜单下有子菜单,这个菜单不需要点击只要把鼠标放在菜单上他就触发显示下拉菜单,然后就可以选择子项,我所选择的子项就是在这个菜单中,我的问题是怎样用webbrowser实现鼠标放在上面不点击就可以触发此事件,或者说怎么可以模拟直接执行子项的点击事件。
我是真心实意的求救,还请大神指点,不然就会被公司开除了,拜托站长和朋友们了
有什么问题可以给我发邮件zhucemazhijia@qq.com,再次感谢你们了
|
|