Перейдите к URL, вызвав функцию

0

Я работаю над автоматизацией некоторых задач наполнения веб-форм, которые мы делаем каждый день, используя 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.

благодаря

Теги:
function
vbscript

2 ответа

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.

0

Если я правильно понял ваш вопрос, все, что вам нужно сделать, это следующее:

function RMF00201_setVal(URL){
   window.location.href = URL;
}

Если у вас есть эта функция либо непосредственно на странице, над которой вы работаете, либо в одном из включенных скриптов, которые вы указали в своем коде.

  • 0
    Это не сработало. Мне только что удалось щелкнуть его oIE.Document.getElementsByTagName ("a"). Item (0). Нажмите

Ещё вопросы

Сообщество Overcoder
Наверх
Меню