使用PowerShell从新窗口中读取文本

时间:2013-09-25 20:22:37

标签: powershell

我正在尝试制作一个PowerShell脚本,可以从javascript链接打开一个新的IE窗口,我想从新窗口中读取文本。到目前为止,该脚本只会读取原始IE窗口中的内容,我不知道如何让脚本从新的IE页面读取内容。

    $ie = new-object -com InternetExplorer.Application 

    $ie.navigate("https://www.testsite.com/") 

    do {sleep 1} until (-not ($ie.Busy)) 

    $ie.visible = $true  

    $doc = $ie.document

    if ($ie.document.documentelement.innerText.Contains('Welcome') -eq "True") {
        "Site is RUNNING"
    } else {
        "Site is STOPPED"   
    }

    $link = @($ie.Document.getElementsByTagName('A')) | Where-Object {$_.innerText -eq 'Click here for new site'}

    $link.click()

    if ($ie.document.documentelement.innerText.Contains('New Page') -eq "True") {
        "Site is RUNNING"
    } else {
        "Site is STOPPED"   
    }

在$ link.click()之后弹出新窗口,我不知道如何从新窗口中读取任何内容。我可以从原始的www.test.com/页面阅读文本,但不能从新页面阅读。

谢谢。

PT

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码迭代所有IE窗口/标签,并选择具有您正在寻找的标题的那个:

$title = '...'

$ie2 = (New-Object -COM 'Shell.Application').Windows() | ? {
  $_.Name -eq 'Windows Internet Explorer' -and $_.LocationName -eq $title
}