我有一个网页,其中包含与按钮相关的以下代码:
<td width=300 align=left>Click here to run the batch tool:</td>
<td align='left' width=100><input id="Submit1" type="submit" value="Run" onClick='showSts();'/></td>
我尝试使用此代码以编程方式从Powershell中按下它:
$username='username' $password='password'
$ie = New-Object -ComObject 'internetExplorer.Application'
$ie.Visible= $true
$ie.Navigate("name of Web site")
while ($ie.Busy -eq $true){Start-Sleep -seconds 1;}
# $usernamefield = $ie.Document.getElementByID('memberemail')
# $usernamefield.value = $username
# $passwordfield = $ie.Document.getElementByID('memberpassword')
# $passwordfield.value = $password
$submitebutton=$ie.Documentelement.getElementByclassname('submit1') | Select-Object -First
$submitebutton.click()
给出了这个错误:
您无法在空值表达式上调用方法。在 C:\ Users \ zkf4bi4 \ Documents \ houdini_click.ps1:15 char:1 + $ submitebutton = $ ie.Documentelement.getElementByclassname('submit1')| Select-Ob ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:InvalidOperation:(:) [],RuntimeException + FullyQualifiedErrorId:InvokeMethodOnNull您无法在空值表达式上调用方法。在 C:\ Users \ zkf4bi4 \ Documents \ houdini_click.ps1:16 char:1 + $ submitebutton.click() + ~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:InvalidOperation:(:) [],RuntimeException + FullyQualifiedErrorId:InvokeMethodOnNull
有关如何进行的任何想法?我是一位经验丰富的开发人员,但我是Powershell的新手
答案 0 :(得分:0)
嗯,我无法帮助,但请注意您正在致电GetElementsByClassName
,但“提交1&#39;是 id 元素。我怀疑错误消息是试图告诉您$submitebutton
为空。您可能会发现this question几乎完全相同。