Я работаю над автоматизацией некоторых задач наполнения веб-форм, которые мы делаем каждый день, используя VBScript.
Я могу перейти на сайт
Set oIE = CreateObject("InternetExplorer.application")
oIE.Visible = True
oIE.navigate ("https://domain.com/")
Это займет главная страница.
На домашней странице мне придется перейти на другую страницу под названием "APPLY", прежде чем я заполню данные.
Если бы это была кнопка,
Я мог бы использовать что-то вроде этого: ->
oIE.Document.All.Item( "BUTTON_NAME"). Нажмите
Однако у меня есть только тег.
<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>
Когда я на самом деле нажимаю текст "APPLY", он выполняет эту функцию и переходит к URL-адресу.
Я пробовал напрямую перейти к URL-адресу:
oIE.navigate ("https://domain.com/apply")
Это не сработало.
Какие-либо предложения. Цените всю помощь.
Один месяц в Scripting.
благодаря
Попробуй это:
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.
Если я правильно понял ваш вопрос, все, что вам нужно сделать, это следующее:
function RMF00201_setVal(URL){
window.location.href = URL;
}
Если у вас есть эта функция либо непосредственно на странице, над которой вы работаете, либо в одном из включенных скриптов, которые вы указали в своем коде.