我很难在应用程序浏览器中捕获搜索结果。
要求:1.登录到应用程序URL。2.搜索3.捕获结果
我有一个代码,它在一台服务器上可以正常工作,但在其他计算机上却表现得很奇怪。 powershell版本和IE(11)都相同。在好的服务器上,一切正常。在性能较差的服务器上,powershell无法仅获得第3点的元素和类名称。它每次都捕获空字符串。即使$ ie.Document.getElementsByTagName(“ body”)在错误的服务器上也返回空。
我是Powershell的新手,不确定是否错过了任何内容。任何人都可以在这里提出想法吗?
下面是代码:
$username = "user1"
$password = "pwd1"
$url="application URL"
$search="tamanna"
$ie = New-Object -ComObject 'InternetExplorer.Application'
$ie.visible=$true
$ie.navigate($url)
while($ie.ReadyState -ne "4")
{
start-sleep -Seconds 5;
}
($ie.document.getElementById("login-form-username") |select -first 1).value = $username;
($ie.document.getElementById("login-form-login-password") |select -first 1).value = $password;
$ie.document.getElementById("login-form-login").click()
while ($ie.Busy -eq $true) { Start-Sleep -Seconds 5; }
$ie.navigate("Search URL within application")
while ($ie.ReadyState -ne "4") { Start-Sleep -Seconds 5; }
$text=$ie.Document.getElementsByTagName("span") | Where-Object{$_.className -eq 'class1_unique'} |select -first 1
while ($ie.ReadyState -ne "4") { Start-Sleep -Seconds 5; }
$searchResult=$text.innerText
$searchResult
我试图测试您的代码以检查其中是否存在问题。根据我的测试结果,您的代码在我这一方面工作正常。
经过一些研究,我发现此问题可能与Internet Explorer安全设置有关。
[我注意到当Internet区域的保护模式被启用时,我会得到相同的行为。
出于测试目的,您可以尝试禁用 保护模式到Internet和Local Intranet区域,以查看它是否有助于解决您的问题。或者,您可以尝试以Administrator。]的身份运行脚本。
要禁用保护模式,您可以参考以下步骤。
启动Internet Explorer
浏览器。单击工具
单击Internet选项
单击安全性
未选中
重新启动
此后,请尝试运行您的PowerShell脚本以查看结果。
让我们知道您的测试结果,是否可以解决此问题。