我是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"
好的,您是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方法,如下所述: