等待加载DOM对象的Powershell方法

时间:2015-06-07 14:31:12

标签: internet-explorer powershell automation webautomation

我正在尝试为IE自动化创建一个powershell脚本。我创建了IE对象并导航到所需的页面。

$ie = New-Object -com internetexplorer.application; 
$ie.visible = $true;
$url="MyURLHERE"
$ie.navigate($url)

它要求提供Windows身份验证弹出窗口,因为页面托管在Intranet上,一旦身份验证完成,它就会打开该页面。所以我必须等到页面完全加载(在进入Windows身份验证之后)才能执行下一个语句。 所以我使用了以下方法:

while($IE.busy) {Start-Sleep 1}

但不幸的是,一旦Windows身份验证对话框弹出,IE状态显示为已完成。虽然没有加载DOM对象(当我们获得用于身份验证的弹出窗口时,请在下面的屏幕截图中查看IE的状态)

Ie status during popup

所以我关心的是有没有办法测试IE绿色条(图像中的那个)来检查页面加载的状态? 我已经测试过:

readyState <> 4 

但它对我没用。那么有没有办法测试除此之外的页面加载?

注意:我已经解决了在加载页面后出现的一些字符串的问题,并且一直睡到它不存在但是我正在寻找更强大的基于IE对象的方法。

0 个答案:

没有答案