我正在尝试为 IE 自动化创建一个 powershell 脚本。我已经创建了 IE 对象并导航到所需的页面。
$ie = New-Object -com internetexplorer.application;
$ie.visible = $true;
$url="MyURLHERE"
$ie.navigate($url)
当页面托管在 Intranet 上时,它会要求弹出 Windows 身份验证,一旦身份验证完成,它就会打开该页面。所以在执行下一条语句之前,我必须等到页面完全加载(进入 Windows 身份验证后)。所以我使用了以下方法:
while($IE.busy) {Start-Sleep 1}
但不幸的是,一旦使用 Windows 身份验证对话框弹出 IE 状态显示为已完成。虽然没有加载 DOM 对象(请在下面找到 IE 状态的屏幕截图,当我们弹出进行身份验证时)
所以我担心有没有办法测试 IE 绿条(图中的那个)来检查页面加载的状态?我已经测试过:
readyState <> 4
但这对我不起作用。那么除此之外还有什么方法可以测试页面加载吗?
注意:我已经解决了测试页面加载后出现的一些字符串并休眠直到它不存在但我正在寻找更健壮和基于 IE 对象的方法。