解析任何 URL DOM 时未加载

While parsing any URL DOM is not loading

$ie = new-object -com internetexplorer.application  
$ie.visible=$true

$ie.navigate('https://google.co.in')

while($ie.ReadyState -ne 4)
{
    Write-Host "dom is loading"
    $ie.ReadyState -eq 4
    $ie.ReadyState -eq 3
    $ie.ReadyState -eq 2
    $ie.ReadyState -eq 1
    $ie.ReadyState -eq 0 
     start-sleep -M 100
}
($ie.Document.Document3_getElementsByTagName('a')|where-object{$_.innerText -eq "मराठी"}).click()

这应该对你有帮助:

$ie = new-object -com internetexplorer.application

$ie.visible=$true

$ie.navigate('https://google.co.in')

while($ie.ReadyState -ne 4)

{ Write-Host "dom is loading" waiting 
start-sleep -M 100 } 



($ie.Document.IHTMLDocument3_getElementsByTagName('a')|where-object{$_.innerText -eq "मराठी"}).click() 

注意:当您 运行 脚本第二次打开时,即它不会找到标签,因为语言已经更改

尝试在 运行ning 脚本

之前获得管理员权限

在 运行 编写脚本之前使用 Below Script。它将为您提供 运行 您的脚本

的管理员权限
$myWindowsID = [System.Security.Principal.WindowsIdentity]::GetCurrent();
$myWindowsPrincipal = New-Object System.Security.Principal.WindowsPrincipal($myWindowsID);

$adminRole = [System.Security.Principal.WindowsBuiltInRole]::Administrator;

if ($myWindowsPrincipal.IsInRole($adminRole))
{
$Host.UI.RawUI.WindowTitle = $myInvocation.MyCommand.Definition + "(Elevated)";
Clear-Host;
 }
 else {

$newProcess = New-Object System.Diagnostics.ProcessStartInfo "PowerShell";    
$newProcess.Arguments = "& '" + $script:MyInvocation.MyCommand.Path + "'"    
$newProcess.Verb = "runas";    
[System.Diagnostics.Process]::Start($newProcess);   
Exit;

}