vbscript для автозаполнения онлайн-страницы с помощью IE - PullRequest
0 голосов
/ 13 сентября 2018

Я новичок в VB скриптах. Выполнение автоматизации для ввода данных в онлайн-страницу. Приведенный ниже скрипт открывает веб-сайт, но не вводит значение и не нажимает кнопку поиска, чтобы получить регистр. Может ли кто-нибудь помочь отладить скрипт ниже?

Ниже приведен источник HTML, в котором есть идентификатор для текстового поля, в которое необходимо ввести данные

Dim URL 
Dim IE 
Set IE = CreateObject("internetexplorer.application")
URL = "https://ecms.corporate/" 
IE.Visible = True
IE.Navigate URL


Do While IE.Busy
  WScript.Sleep 100
Loop


IE.document.getElementById("Request").value="231320"

1 Ответ

0 голосов
/ 14 сентября 2018

ОК, вы новичок в VBS и новичок на этом сайте. Этот ресурс предназначен для помощи PowerShell, а не для VBS. Итак, хотя многие из нас знают VBS, мы здесь не для того, чтобы помочь.

Что касается вашего варианта использования. В Интернете есть множество примеров того, как это сделать, на нескольких языках. Тем не менее, поскольку мы сосредоточены здесь на PowerShell, именно так это и делается в PowerShell.

Сначала вы должны знать фактический элемент, с которым вы работаете, и вы не показываете, как вы это получаете. Вы уверены, что используете правильные элементы страницы для своего сайта - чтобы быть уверенным. Перемещение по элементам формы сайта, а не по элементам Internet Explorer

# Discover all page/form and elements to work with

$url = 'https://pwpush.com'
($FormElements = Invoke-WebRequest -Uri $url -SessionVariable fe) 
($Form = $FormElements.Forms[0]) | Format-List -Force
$Form | Get-Member 
$Form.Fields

# Interact with the site page

$password = '1234'
$loginUrl = 'https://pwpush.com'

$ie = New-Object -com internetexplorer.application
$ie.visible = $true
$ie.navigate($loginUrl)

while ($ie.Busy -eq $true) { Start-Sleep -Seconds 1 }

($ie.document.getElementById('password_payload') | 
select -first 1).value = $password
Start-Sleep -Seconds 1 

$ie.Document.getElementsByName('commit').Item().Click();
Start-Sleep -Seconds 1 

Хотя этот ответ в PowerShell один, процесс, если вы застряли с использованием VBS, тот же, но только с использованием методов VBS, как обсуждалось здесь:

Vbscript для автоматического тестирования входа на сайт

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...