无法使用powershell

时间:2017-03-28 17:11:49

标签: powershell powershell-v3.0 powershell-v4.0

在打开网站后,该框架内有一个框架菜单栏是他们的,例如菜单栏5按钮是: -

搜索(带下划线的e和带搜索的下拉箭头)和窗口(带W的下划线箭头也带有窗口)我想点击搜索。

我尝试使用href,id但无法点击搜索。

        $Url = “some site” 
        $Username=”xxx” 
        $Password=”xxx” 

       $IE = New-Object -com internetexplorer.application; 
       $IE.visible = $true; 
       $IE.navigate($url); 
       while ($IE.Busy -eq $true) 

      { 

      Start-Sleep -Milliseconds 2000; 

      }

        $IE.Document.getElementById(“USERNAME”).value = $Username 
         $IE.Document.getElementByID(“PIN”).value=$Password 
        $IE.Document.getElementById(“HardcodedSub”).Click()

        while($ie.busy) {sleep 5} 

        $Link = $ie.Document.getElementsByTagName("a") | where-object {$_.id -eq     'menu_2'}
         $Link.click()


error:-You cannot call a method on a null-valued expression.
At line:25 char:1
+ $Link.click()
+ ~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull


inspect element:-

<a id="menu_2" tabindex="2" class="menu_unselected_text" href="javascript:window.parent.role_main.cai_main.setActKeyMenuState(2)">S<u>e</u>arch<img border="0" src="/CAisd/img/arrow_asc_bk.png" width="15" height="10"></a>

1 个答案:

答案 0 :(得分:0)

为什么下面的行不能使用相同的GetElementById()。

$Link = $ie.Document.getElementById("menu_2") 

最好在PowerShell ISE中进行调试或逐行执行,并在调用方法之前完全加载页面。

此致

Kvprasoon