通过powershell检查网页上的某些文字

时间:2018-01-30 09:19:59

标签: html powershell

我正在尝试从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'}

1 个答案:

答案 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。