InternetExplorer.Application COM 对象的 getElementById 方法无效

InternetExplorer.Application COM object's getElementById method not working

我是 powershell 的新手,我正在尝试自动登录网站,我浏览了很多示例,但 NONE 工作正常。

例如这个非常简单的脚本:

$ie = New-Object -comobject InternetExplorer.Application
$ie.Visible = $true
$ie.Navigate($URL)
$ie.Navigate("www.facebook.com")
$ie.document.getElementById("pass")
$ie.document.getElementById("pass").value = "Hi"

我应该在密码字段中得到 "Hi",但我得到的却是这个

我在找到的所有示例中都遇到了这个错误,这是怎么回事?这是 Powershell 不再支持的东西吗?

我有 windows 10.

不要使用 getElementById。使用 IHTMLDocument3_getElementById,例如:

$ie.Document.IHTMLDocument3_getElementById("email").value = "asd123"

您也可以对其他方法执行此操作,例如 IHTMLDocument3_getElementsByName

我应该补充一点,我不知道为什么这行得通 - 我只是使用以下查询在 Document 对象上查找任何有用的成员并使用它们

$ie.Document | Get-Member | where Name -like '*get*'