我正在尝试从Intranet网页获取HTML代码,并监控是否存在某些文本或标题。我的监控程序将使用此PowerShell代码在网页关闭时触发警报,以便我看不到某些文本或标题。
目前,我只是使用Write-Host来查看我的代码是否有效。我现在可以将HTML源提取到$output
,我确信'创建!'可以在里面找到。但是,我没有得到'是'。
我是否可以使用$output
-contains
是否可以检查
非常感谢你的帮助!
$targetUrl = 'https://myUrl/'
$ie = New-Object -com InternetExplorer.Application
$ie.visible=$true
$ie.navigate($targetUrl)
while($ie.Busy) {
Start-Sleep -m 2000
}
$output = $ie.Document.body.innerHTML
if($output -contains '*Create!*')
{Write-Host 'YES'}
else
{Write-Host 'NO'}
答案 0 :(得分:4)
运算符-contains
用于搜索集合。 IE的innerHTML只是一个字符串:
$output = $ie.Document.body.innerHTML
$output.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
使用模式匹配运算符,例如-like
和-match
。
顺便说一句,如果IE不是强制性的,请尝试Invoke-WebRequest
cmdlet。