我正在努力自动化我们每天使用VBScript执行的一些Web表单填写任务。
我可以导航到网站
Set oIE = CreateObject("InternetExplorer.application")
oIE.Visible = True
oIE.navigate ("https://domain.com/")
这将转到主页。
在主页上,我必须导航到另一个名为" APPLY"在我将数据填入其中之前。
如果是按钮,
我可以使用这样的东西: - >
oIE.Document.All.Item(" BUTTON_NAME&#34)。按此
然而,我所拥有的只是一个标签。
<a class="out" onmouseout="displayhelp('1');this.className='out'" onmouseover="displayhelp('0');this.className='over'" onclick="RMF00201_setVal('newapp');"> Apply </a>
因此,它只是ONCLICK触发功能的文本。
看起来它是一个Javascript函数,因为我可以在上面看到以下几行。
<title> … </title>
<script src="../../objserv/RMFGEN01.js" language="JavaScript1.1"></script>
<script src="../../objserv/RMF00201.js" language="JavaScript1.1"></script>
当我实际点击&#34; APPLY&#34;文本,它执行功能并转到URL。
我尝试直接转到网址:
oIE.navigate ("https://domain.com/apply")
它没有用。
任何建议。 感谢所有帮助。
进入Scripting一个月。
由于
答案 0 :(得分:0)
如果我理解你的问题,你需要做的就是:
function RMF00201_setVal(URL){
window.location.href = URL;
}
您可以直接在您正在处理的页面中使用此功能,也可以使用您在代码中显示的其中一个脚本。
答案 1 :(得分:0)
试试这个:
Option Explicit
Dim objIE, objShell, objShellWindows
Dim strURL, strWindow, strURLFound, WShell, i
strURL = "https://domain.com/"
strWindow = "Apply"
Set oIE = CreateObject("InternetExplorer.Application")
Set oShell = CreateObject("Shell.Application")
Set oShellWindows = oShell.Windows
Set WShell = CreateObject("WScript.Shell")
strURLFound = False
'To Fix Item Not Found Error
For Each oIE in oShellWindows
next
For i = 0 to oShellWindows.Count - 1
Set oIE = oShellWindows.Item(i)
On Error Resume Next
If InStr(Ucase(oShellWindows.Item(i).LocationURL),Ucase(strURL)) Then
If InStr(UCASE(oShellWindows.Item(i).FullName), "IEXPLORE.EXE") Then
If Err.Number = 0 Then
If Instr(oShellWindows.Item(i).document.title,(strWindow)) then
strURLFound = True
Exit For
End If
End If
End If
End If
Next
WShell.AppActivate strWindow
这是我在尝试访问Internet Explorer中的特定页面时使用的。