Я пытаюсь автоматически получить скриншот на веб-странице с помощью VBScript. Я застрял в точке, где VBScript не может идентифицировать элемент, который мне нужно щелкнуть.Автоматизация веб-страницы
Есть ли способ идентифицировать элемент other elementId как xpath/title/value/name
, которые гораздо легче идентифицируются в автоматизации веб-страниц Selenium. Вот мой сценарий:
Dim IE
Dim Helem
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = 1
IE.navigate "https://mylink/logon.jsp"
Do While (IE.Busy)
WScript.Sleep 3
Loop
Set Helem = IE.document.getElementByID("overridelink")
Helem.Click
Do While (IE.Busy)
WScript.Sleep 3
Loop
Set Helem = IE.document.getElementById("j_username")
Helem.Value = "user123"
Set Helem = IE.document.getElementById("j_password")
Helem.Value = "pass123"
IE.document.getElementById("other").Click
Do While (IE.Busy)
WScript.Sleep 10
Loop
IE.document.getElementById("elementId").Click
Проблема возникает, когда последний элемент не идентифицируется с использованием Id. Я получаю следующую ошибку:
Error : Object required :'document.getElementById(...)'
Code : 800A01A8
Это демо, которое я использовал здесь. Кодирование кадра на странице:
<frameset id="Cmain" ////<br/>
<FRAME id="Banner" //<br/>
<frameset id="content" //<br/>
<FRAME id="Navigation" //<br/>
<frameset rows=//<br/>
<FRAME id="Taskbar" //<br/>
<FRAME id="Work" //<br/>
<FRAME id="Work_NonSM" //<br/>
</frameset><br/>
</frameset>
</frameset>
Идентификатор, который я использовал, является «Навигация».
IE.document.parentWindow.window.frames(0).document.getElementById("element id")
ли элемент на самом деле есть идентификатор? На самом деле мы не можем сказать вам, не видя источника страницы или сообщения об ошибке. –
На самом деле есть идентификатор, но его не идентифицируют. Сообщение об ошибке приходит в приглашение после выполнения vbscript. Ошибка: - Требуется объект: document.getElementById (...) 'Код: 800A01A8 – rahnik67