2017-12-18 20 views
0

私はウェブページをテストしており、ウェブサイトに自動的にログインするスクリプトを作りたいと思っています。次のようにログインウェブサイト - >コンソールからキープレスのような資格情報を与える

私のスクリプトが行く:

$username = 'username' 
$password = 'password' 

$ie = New-Object -ComObject 'InternetExplorer.Application' 
$ie.Visible = $true 
$ie.Navigate("url") 

while ($ie.Busy -eq $true) { Start-Sleep -seconds 1; } 

$usernamefield = $ie.Document.GetElementsByTagName("input")[0] 
$usernamefield.value = $username 

$passwordfield = $ie.Document.GetElementsByTagName("input")[1] 
$passwordfield.value = $password 

$Link = $ie.Document.GetElementsByTagName("input") | 
     Where-Object {$_.Type -eq "button"} 
$Link.Click() 

は私がidは、各時間にランダム化されているので仕方タグ名を検索する必要があります。

ここで私の問題は、ログインボタンをクリックできないということです。なぜなら、ウェブサイトは資格情報がキープレスのように渡されることを期待しているからです(私は認証情報フィールドを完成させますが、彼らは空だった)。どのようにこれを達成することができますか、それをやることをどこで学ぶことができますか?

答えて

0

キーストロークを送信する場合は、SendKeys関数を使用できます。私はこれを使用しました は前のスクリプトですが、ブラウザやアプリが現在フォーカスのアプリケーションであることを確認するだけでなくPSCXのSet-ForegroundWindowコマンドレットを組み込む場合、それはより信頼性を発見した:

$Shell = New-Object -COM “WScript.Shell” 
$Shell.SendKeys(“F15”) 

するF15キーストロークを送信します。

希望する場所から始めることができます。

あなたがインストールできるWASPという野生のサードパーティ製モジュールがあります。

https://github.com/adamdriscoll/selenium-powershell

+0

ありがとう:

https://wasp.codeplex.com/

また、アダム・ドリスコルは、セレンのC#のwebdriverををラップPowerShellのモジュールを書きました!私は今、宿題を持っています... – BRDennehy

関連する問題