使用PowerShell通过Internet Explorer的com界面执行javascript

Phi*_*ppe 6 com powershell internet-explorer webautomation

我正在使用PowerShell编写一些Internet Explorer自动化脚本.以下是我启动IE com对象的方法:

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

$doc = $ie.Document
Run Code Online (Sandbox Code Playgroud)

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

由于对象没有名称或id,因此更容易变化,因为我只能依赖它在页面上的位置(例如:页面上的第11个跨度项目).

或者,您如何根据他们的班级选择元素?这会有很大的帮助,因为"按钮"有它自己的类.

谢谢

Sha*_*evy 5

$spans=@($ie.document.getElementsByTagName("SPAN"))

管道到 where-object 以过滤您需要的对象(基于其属性),然后调用 click 方法,例如:

$span11 = $spans | where {$_.innerText -eq 'something'}
$span11.click()
Run Code Online (Sandbox Code Playgroud)