PowerShell IE等待页面加载?

时间:2017-02-02 15:45:25

标签: powershell internet-explorer

我正在尝试编写一个简单的PowerShell脚本,该脚本导航到某个页面,等待它加载然后执行任务。

我见过许多例子都使用“$ ie.Busy”来检查页面是否准备就绪,但这对我不起作用。

以下是我正在尝试做的事情:

$ie = new-object -ComObject "InternetExplorer.Application";
$ie.visible = $true;

$ie.navigate("www.some-page.com");

while ($ie.Busy -eq $true)
{
    sleep -Milliseconds 100;
}
//do stuff

然而,$ ie.Busy并没有像我认为的那样工作。它不会进入while循环,因为我发现在循环中包含一个print语句而没有看到它打印任何东西。导航后尝试打印$ ie.Busy的内容只返回“System .__ ComObject.Busy”。

我也尝试将while循环更改为:

If ($ie.Busy -eq $true) {"True"}
ElseIf ($ie.Busy -eq $false) {"False"}
Else {"Neither"}

为了看看$ ie.Busy的价值是多少。它只会打印“Neither”,因此它不会按预期获取布尔值。有没有办法等待页面加载?

注意:我也看到人们使用ReadyState作为替代方案,但它给了我同样的问题,Busy在我尝试访问其值时没有返回整数的意义。

*使用IE11

0 个答案:

没有答案