2017-03-22 14 views
1
$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() 

答えて

0

スクリプトを実行する前に管理者アクセスを取得してください

スクリプトを実行する前に以下のスクリプトを使用してください。それはあなたのスクリプト

$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; 

}私もこれにチェックされているが、問題はまだ同じである時間 ため

+0

が役に立たなかった。 これはうまく動作した –

0

をロードしていない任意のURL解析中:

$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() 

注:あなたがIEでスクリプト秒の時間を実行しているとき、言語がすでに

が変更されたので、それはタグを見つけることができませんが
+0

おかげで...言語が何であるか –

+0

@adityaを実行するための管理者のアクセスを提供しますもしそれがすでにマラソンなら、ハ​​イパーリンクは見つからないでしょう。それはちょうど英語に戻って、スクリプトを実行する前に閉じるようにします。 –

+0

パワーシェルでテストしているときにこれはうまく見えますが、保存したものそれをにコピーし、それを実行しようとすると、$ ie.readyStateループ –

関連する問題