用 PS 操作 IE

用 PS 操作 IE


一、抑制警告窗口


    $win.execScript("window.alert=function(){}", "javascript")


二、调用 execScript 时出错


使用“2”个参数调用“execScript”时发生异常:“由于出现错误 80020101 而导致此项操作无法完成。”


获得焦点,好像更有利于窗口的打开。


$ie.Document.parentWindow.focus()


三、弹出窗口,且关闭原窗口,使原来的操作句柄失效,必需要找到新的弹出窗口,才能进行下一步的操作。


function returnWindow($s){
    (New-Object -ComObject Shell.Application).Windows() `
        | Where { $_.FullName.toLower().EndsWith("iexplore.exe") } `
        | where { $_.LocationURL -eq $s } 
# $s 为 "弹出窗口的新地址"
    }


四、等待 IE 加载完成


function waitForLoad ($ie) {
    while ( $ie.Busy ){ Start-Sleep -Milliseconds 100}
}


五、PS 2.0 对 mshtml 的封装不完善。对于没有 ID 或没有唯一 name 的元素无法进行操作。升级到 PS 3.0 以后,就没有这个问题了。


$buttons.length 返回空,没有 $buttons.item 属性。


    $doc = $ie.Document


    $buttons = $doc.getElementsByTagName( "input")


    if ($buttons.length -gt 0 ){
        $buttons.item(1).click()
        }


六、在 PS 控制台中运行正常,但是,不能在任务计划中运行。


    $ie.Document.parentWindow.focus()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值