网页上有一个登陆页面(index.jsp)。我现在能通过代码进行登陆,登陆后会转到main页面,我想获取main页面的窗口句柄。并想获取main页面form中某个text的值,
我用document.getElementById("tid").value 无法获取。(我怀疑objIE 现在还是指向最开始那个登陆页面的句柄,并没有指向http://www.xxx.com/main/xxx.do),我现在想获取http://www.xxx.com/main/xxx.do句柄,应如何实现?代码:
//设定用户名
UserVar NameVal=xxxxxxxx
//设定密码
UserVar PwdVal=xxxxxxxxxVBS Dim objIE
VBS Set objIE = CreateObject("InternetExplorer.Application")
VBS objIE.Visible=true// 打开预定网页
VBS objIE.Navigate "http://www.xxx.com"
// 判断网页是否读取完毕
While objIE.Busy Or objIE.ReadyState <> 4
Delay 3000
EndWhile // ==============登陆=================
// 用户名
VBS objIE.Document.All("name").Value = NameVal
//密码
VBS objIE.Document.All("password").Value = PwdVal
// 提交
VBS objIE.Document.All("submit").Click()//登陆后转向其他页面
VBS objIE.Navigate "http://www.xxx.com/main/xxx.do"//下面2步就无法实现了。提示缺少document.getElementById的对象
//设置http://www.xxx.com/main/xxx.do页面form中name为keyword的值
objIE.Document.All("keyword").Value = 新闻
//提交
VBS objIE.Document.All("submit").Click()顺便问下 如何散分~!
我用document.getElementById("tid").value 无法获取。(我怀疑objIE 现在还是指向最开始那个登陆页面的句柄,并没有指向http://www.xxx.com/main/xxx.do),我现在想获取http://www.xxx.com/main/xxx.do句柄,应如何实现?代码:
//设定用户名
UserVar NameVal=xxxxxxxx
//设定密码
UserVar PwdVal=xxxxxxxxxVBS Dim objIE
VBS Set objIE = CreateObject("InternetExplorer.Application")
VBS objIE.Visible=true// 打开预定网页
VBS objIE.Navigate "http://www.xxx.com"
// 判断网页是否读取完毕
While objIE.Busy Or objIE.ReadyState <> 4
Delay 3000
EndWhile // ==============登陆=================
// 用户名
VBS objIE.Document.All("name").Value = NameVal
//密码
VBS objIE.Document.All("password").Value = PwdVal
// 提交
VBS objIE.Document.All("submit").Click()//登陆后转向其他页面
VBS objIE.Navigate "http://www.xxx.com/main/xxx.do"//下面2步就无法实现了。提示缺少document.getElementById的对象
//设置http://www.xxx.com/main/xxx.do页面form中name为keyword的值
objIE.Document.All("keyword").Value = 新闻
//提交
VBS objIE.Document.All("submit").Click()顺便问下 如何散分~!
解决方案 »
- vb写的串口通讯软件跟手机通讯,出现8020错误,为啥啊?
- mid音乐能否加入到所生成的.EXE文件中?
- 急!!VB中怎样实现显示Access中OLE类型的图片文件
- 新手:请问怎么选择打印字体?
- 如果判断两个用户连接同一张表,而让同一时刻只让一个用户访问???求救
- 求救:VB调用Dll类型不匹配问题。
- 200分!!access数据库中有一字段‘项目’,用ado确定一个记录源,我要测试每条记录的长度,但是如果数据库中有一条记录的该字段的值为空
- 有谁知道spreadsheet怎么用吗?
- VB中的打印问题,高分求解
- 关于datagrid的问题
- 3704 对象关闭时不允许操作 怎么办啊
- VSFlexGrid 编辑问题
难的是通过窗口句柄获得IWebBrowser接口,楼上超级绿豆在博客里写过这个代码,可以去看一下。
建议楼主不要使用VBS,而是使用VB来获得IE事件。
如:
Dim WithEvents IE As InternetExplorer
Sub Form_Load()
Set IE = New InternetExplorer
End Sub
并且建议不要使用浏览器状态来判断页面是否完成,因为现在AJAX太流行了,有以元素以动态增加的,你那样判断会出现失误,正错的判断是:
Private Sub IE_DocumentComplete(ByVal pDisp As Object, URL As Variant)
If pidp Is IE.Object Then
End If
End Sub