PowerShell点击javascript链接

2022-04-26 00:00:00 powershell javascript powershell-3.0

这里是超链接代码

<a href="javascript:void(1)" onclick="server_playOn(17,2, 'est', this);">
                     Example  
                  </a>

这是我当前的PowerShell代码。

Get-Process iexplore | Foreach-Object { $_.CloseMainWindow() }
$username = "user" 
$password = "pass"
$ie = New-Object -comobject InternetExplorer.Application
$ie.visible=$true
$ie.FullScreen=$true
$ie.navigate("http://www.example.com/en/index.shtml")
while($ie.ReadyState -ne 4) {start-sleep -m 100}
trap [Exception] 
{ 
    # This will happen if you're already logged in 
    if($_.Exception.Message -eq "Property 'value' cannot be found on this object; make sure it exists and is settable." -Or $_.Exception.Message -eq "You cannot call a method on a null-valued expression.") 
    { 
        # Try and skip this error 
        continue; } 
    else { 
        # Fail for other Exceptions 
    Write-Host -ForegroundColor Red $_.Exception.Message; } 
    }

##if not logged in
Write-Host -ForegroundColor Green "Logging into example.com";
$ie.document.getElementById("username").value = "$username"
$ie.document.getElementById("pass").value = "$password"
$ie.document.getElementById("frmLogin").submit()
start-sleep 5
$ie.navigate("http://www.example.com/en/link5.shtml")
##need to add click code here

解决方案

在脚本末尾添加以下行:

$link = @($ie.Document.getElementsByTagName('A')) | Where-Object {$_.innerText -eq 'Example'}
$link.click()

相关文章