2017-12-18 51 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 cmdlet를 통합 할 경우 발견 :

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

는 F15 키 입력을 보내겠습니까.

희망은 당신에게 시작할 곳을 제공합니다.

WASP라는 또 다른 타사 모듈을 설치하여 설치할 수 있습니다.

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

+0

감사 :

https://wasp.codeplex.com/

또한, 아담 드리스콜은 셀레늄의 C#을 WebDriver를 감싸는 파워 쉘 모듈을 썼다! 지금 할 숙제가 ... – BRDennehy