vbscript使用IE自动填充在线网页

问题描述 投票:-1回答:1

我是vb脚本的新手。在在线网页中进行数据输入的自动化。下面的脚本打开一个网站,但不输入值,然后单击搜索以获取案例。有人可以帮助调试下面的脚本吗?

下面是HTML源代码,其中包含必须输入数据的文本框的ID

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"
javascript powershell vbscript
1个回答
0
投票

好的,您是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 for automated website login testing

© www.soinside.com 2019 - 2024. All rights reserved.