ALT

2017-05-27 6 views
0

によって要素を取得し、私は自動ログインスクリプトを作成したいと思います(私の会社のために、各従業員は3台のコンピュータ上で動作し、15種類のサイトやアプリにログインする必要があります - ので、私は、自動ログインを必要とする) PowerShellのALT

$Url = “www.gmail.com” 


$Username=”xxxxxxx” 

$Password=”xxxxxxxx” 


$Executable = "c:\windows\system32\notepad.exe" 

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


while ($IE.Busy -eq $true) 

{ 

Start-Sleep -Milliseconds 2000; 

} 


$IE.Document.getElementById(“login_nickname”).value = $Username 
$IE.Document.getElementByID(“login_passwort”).value=$Password 



$IE.Document.getElementbyID("login").Click(); 
console.log($img.alt); 

while ($IE.Busy -eq $true) 

{ 

Start-Sleep -Milliseconds 2000; 

} 

Invoke-Item $Executable 

ログインとパスワードが正しく入力されましたが、ログインボタンをクリックできません。IDがありません。 alt値のみ。ボタンはハイパーリンクです。これは、ボタンのテキストで

$IE.Document.getElementbyID("login").Click(); 
+0

あなたは!あなたがで遊ぶフォームの 'HTML'をDOM構造を共有することができます。 –

+0

その行

答えて

0

フィルター、それを私はgetElementByIdを使用している場合に動作し、LOGINであるALT値を入力しますが、それは(下)仕事をdoesntのdoesntの?

$IE.Document.links | ? {$_.TextContent -eq "login"} 

このようにそれを使用します。

($IE.Document.links | ? {$_.TextContent -eq "login"} | Select -First 1).Click 
+0

So > $ IE.Document.links | ? TextContent -eq "login" 今すぐ をクリックしてください。 –

+0

@MarcinFrankowski updated answer。 – ConnorLSW

+0

Where-ObjectパラメータFilterScriptをバインドできません。型System.StringのTextcontent値をSystem.Management.Automation.ScriptBlock型に変換できません。 –