代码之家  ›  专栏  ›  技术社区  ›  Philippe

使用PowerShell通过Internet Explorer的COM接口执行javascript

  •  6
  • Philippe  · 技术社区  · 15 年前

    我正在使用PowerShell编写一些Internet Explorer自动化脚本。以下是我如何启动IE COM对象:

    $ie = New-Object -com "InternetExplorer.Application"
    $ie.Navigate("about:blank")
    $ie.visible = $true
    
    $doc = $ie.Document
    

    所以,我想做的是在$doc对象上执行一些javascript。例如,我在页面上有一个项目有一个on click事件,它执行“submitcommand('lookup')”,所以我想直接在$doc上运行它,而不必在页面上找到对象,然后在它上调用click()方法。

    因为对象没有名称和ID,所以更容易更改,因为我只能依赖它在页面上的位置(例如:页面上的第11个跨距项)。

    或者,如何根据元素的类选择元素?这将有很大帮助,因为“按钮”有自己的类。

    谢谢

    1 回复  |  直到 15 年前
        1
  •  4
  •   Shay Levy    15 年前

    $SPANS=@($ie.document.getElementsByTagname(“SPAN”))

    管道到要筛选所需对象的位置对象(基于其属性),然后调用Click方法,例如:

    $span11 = $spans | where {$_.innerText -eq 'something'}
    $span11.click()