Powershell,即ie9和getElementById

| 我已成功使用此站点上的Web自动化脚本:heise Web Automation 我知道它是德语,但也许有人可以提供帮助。 e-plus网站的重要部分:
    <tr>
        <td class=\"td1\">Benutzername:</td>
        <td class=\"space\"><img src=\"/img/c.gif\" alt=\"\" /></td>
        <td class=\"td2\"><input type=\"text\" id=\"IDToken1OL\" name=\"IDToken1\" onfocus=\"setToken(this)\" onblur=\"getToken(this)\" value=\"Benutzername\" /></td>
    </tr>
    <tr>
        <td class=\"td1\">Passwort:</td>
        <td class=\"space\"><img src=\"/img/c.gif\" alt=\"\" /></td>
        <td class=\"td2\"><input type=\"password\" id=\"IDToken2OL\" name=\"IDToken2\" onfocus=\"setToken(this)\" onblur=\"getToken(this)\" value=\"\" class=\"passwortFake\" /></td>
    </tr>
Powershell脚本的一部分:
$script:ie = New-Object -comobject InternetExplorer.Application
$ie.visible = $false
$ie.silent = $true
#
$ie.Navigate(\"https://www.eplus.de/login/login.asp\")
LadenWarten(1)
#
$ie.Document.getElementById(\"IDToken1OL\").value = $user
$ie.Document.getElementById(\"IDToken2OL\").value = $passwort
$ie.Document.getElementsByTagName(\"a\") | foreach {
    if ($_.href -eq \"javascript:SSO_Submit()\") {
        $_.Click()
    }
}
getElementById适用于ie8,但现在我已更新为ie9,并且不再起作用。 错误消息:
+ $ie.Document.getElementById <<<< (\"IDToken1OL\").value = $user
    + CategoryInfo          : NotSpecified: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : MethodCountCouldNotFindBest
参数的计数是错误的。 我所能找到的只是一个提示,即ie9中的getElementById已更改。 有人可以帮忙吗? 谢谢大卫     
已邀请:
当仅自动化一个具体站点(脚本不是通用站点或任何站点)时,您可以尝试在IE设置(工具->兼容性视图设置)中设置兼容性视图。浏览该网站时,IE应该切换到IE8视图。     
参见http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/Q_27920160.html- 引: \“我应该使用成员调用:
$ie = new-object -com \"InternetExplorer.Application\"
$ie.navigate(\"about:blank\")
$doc = $ie.Document

$element = [System.__ComObject].InvokeMember(“getElementById”,[System.Reflection.BindingFlags]::InvokeMethod, $null, $doc, $id)
对于getElementsByTagName:
$elements = @([System.__ComObject].InvokeMember(“getElementsByTagName”,[System.Reflection.BindingFlags]::InvokeMethod, $null, $doc, $tagname))
\“     
使用querySelector的示例:
  $element = [System.__ComObject].InvokeMember(\"querySelector\",[System.Reflection.BindingFlags]::InvokeMethod, $null, $ie.Document, \"$QueryHere\")
    

要回复问题请先登录注册