用Shell.application获取当前已打开网页内容,并填写表单内容的程序问题

时间:2021-02-27 21:37:30
用程序打开网页不好操作,因为要点击按钮、填写登录信息等,所以前面部分人工打开网页,后面用程序查找到网页窗口,然后分析代码,找出表单文本框,填写内容。后面都没问题,就是前面找浏览器窗口的程序,在有些机器上出现问题,而在另一些机器上可正常使用,不知原因在哪里,请大家帮忙。
Set oshell = CreateObject("shell.application")
Set ow = oshell.Windows()
If ow.Count = 0 Then
    MsgBox "先打开网页"
    End
End If

found = False

For i = 0 To ow.Count - 1
    nm = UCase(ow.Item(i).FullName)
'上面这句出错,跟踪发现ow.Item(i)能返回对象型,错误是此对象根本就没FullName或Name属性,而有机器又正常
    If InStr(nm, "IEXPLORE.EXE") = 0 And InStr(nm, "MAXTHON.EXE") = 0 Then GoTo pass
    If ow.Item(i).document.Title <> "正方系统" Then GoTo pass
    ......
Next

2 个解决方案

#1



Set oshell = CreateObject("shell.application") 
Set ow = oshell.Windows
If ow.Count = 0 Then 
    MsgBox "先打开网页" 
    WScript.Quit 
End If 

found = False 

For i = 0 To ow.Count - 1 
    nm = UCase(ow.Item(i).FullName) 
    MsgBox nm
next

#2


楼上啥意思?
我的程序是求名称时有些机器出错,有些机器正常。我的问题是:什么原因造成的,怎么解决?
建立对象没错误。

#1



Set oshell = CreateObject("shell.application") 
Set ow = oshell.Windows
If ow.Count = 0 Then 
    MsgBox "先打开网页" 
    WScript.Quit 
End If 

found = False 

For i = 0 To ow.Count - 1 
    nm = UCase(ow.Item(i).FullName) 
    MsgBox nm
next

#2


楼上啥意思?
我的程序是求名称时有些机器出错,有些机器正常。我的问题是:什么原因造成的,怎么解决?
建立对象没错误。