2014-02-21 2 views
0

다음은 Internet Explorer를 실행하고 LinkedIn 로그인 페이지를 열고 사용자 이름 텍스트 필드에 텍스트를 입력하는 PowerShell 스크립트입니다.Power Shell을 통해 입력 필드에 텍스트를 입력하는 방법은 무엇입니까?

$ie = New-Object -Com "InternetExplorer.Application" 
$ie.Navigate("www.linkedIn.com") 
$ie.Visible = $true 

$doc = $ie.document 
$usernameElement = $doc.getElementByTagName("input") | Where-Object {$_.id = "session_key-login""} 
$usernameElement.Click() 

Get-Process iexplore | Foreach-Object {$_.CloseMainWindow()} 

불행하게도, 나는 다음과 같은 오류가 계속 :

You cannot call a method on a null-valued expression. 
At C:\Users\Pinku\Desktop\Untitled1.ps1:7 char:23 
+ $usernameElement.Click <<<<() 
+ CategoryInfo   : InvalidOperation: (Click:String) [], RuntimeExcepti 
on 
+ FullyQualifiedErrorId : InvokeMethodOnNull 

내가 시도했지만이 issue.Please 제안에서 자신을 완화 할 수 없었다!

답변

0

대신 $doc.getElementsByTagName("input")를 사용하여 다음 결과를 필터링하기 위해 노력하는, getElementById를 사용하여 직접 ID를 검색하려고 :

$usernameElement = $doc.getElementById("session_key-login") 
$usernameElement.Click() 

--- 편집 ---

응답은 여전히 ​​null-valued expression 후를 얻기에 위의 사용 :

오류 메시지는 "session_key-login"이라는 요소를 찾을 수 없으므로 $ null을 반환하므로을 호출하려고하면 오류 메시지가 나타납니다.210 메서드를 호출하면 오류가 발생합니다. 시도 할 사항 :

- 해당 ID가 있는지 확인하십시오. 을 $ 즉, 객체를 생성 한 후 다음 코드를 실행하고 "SESSION_KEY-로그인"와 일치하는 ID가 있는지 :

$ie = New-Object -Com "InternetExplorer.Application" 
$ie.Navigate("www.linkedIn.com") 
$ie.Visible = $true 

$doc = $ie.document 
$doc.getElementsByTagName("Input") | Select Id, Name 

꼬 시러 다니구가 관리자로 PowerShell 세션을 실행합니다. PowerShell을 관리자로 실행할 때까지 IE를 제대로 시작할 수 없다는 것을 알고 있습니다. 예를 들어. iexplore 프로세스가 만들어졌지만 실제 Internet Explorer 창이 열리지 않았습니다.

+0

안녕하세요, 귀하의 회신에 감사드립니다. 그러나 이미 귀하의 솔루션을 사용해 보았습니다. 나는 여전히 같은 오류가 발생합니다. –

+0

추가 문제 해결 단계에 대해서는 위의 편집을 참조하십시오. – HAL9256

+0

이 게시물은 귀하의 제안입니다. '널 값 표현식에서 메소드를 호출 할 수 없습니다. C : \ Users \ Pinku \ Desktop \ Untitled1.ps1 : 6 char : 45 + $ usernameElement = $ doc.getElementsByTagName <<<< ("입력") | 선택 ID, 이름 + CategoryInfo : InvalidOperation : (getElementsByTagName : String) [], RuntimeException + FullyQualifiedErrorId : InvokeMethodOnNull null 값 표현식에서 메소드를 호출 할 수 없습니다. C : \ Users \ Pinku \ Desktop \ Untitled1.ps1 : 7 char : 23 + $ usernameElement.Click <<<<() + CategoryInfo : InvalidOperation :(클릭 : 문자열) [], RuntimeException + FullyQualifiedErrorId : InvokeMethodOnNull' –

관련 문제