2014-09-16 7 views
1

J'ai un script Powershell qui est comme çadom Internet Explorer se comporte différemment dans différents environnements

param(
    [string]$u, 
    [string]$p 
) 

$username = $u 
$password = $p 

cd HKCU:\"Software\Microsoft\Windows\CurrentVersion\Internet Settings" 
set-itemproperty . ProxyEnable 1 
$url = "https://ameriprisestage.service-now.com/" 
$ie = New-Object -com internetexplorer.application; 

$ie.visible = $true; 
$ie.navigate($url); 
while ($ie.ReadyState -ne 4 -or $ie.Busy) 
{ 
    start-sleep -s 5; 
} 

$ieFrame = $ie.Document.getElementById("gsft_main") 

if (($ieFrame -eq $null)) { 
    "ieframe is null" | Out-File 'D:\\file.txt' -Append 
    exit 
} 

$usrCtrl = $ie.Document.getElementById("user_name") 
if ($usrCtrl -eq $null) { 
    " usrCtrl is null at 1" |Out-File 'D:\\file.txt' -Append 
} 

$usrCtrl = $ieFrame.document.getElementById("user_name") 
if ($usrCtrl -eq $null) { 
    " usrCtrl is null at 2" |Out-File 'D:\\file.txt' -Append 
} 

$usrCtrl = $ieFrame.contentWindow.document.getElementById("user_name") 
if ($usrCtrl -eq $null) { 
    " usrCtrl is null at 3" |Out-File 'D:\\file.txt' -Append 
} 

$usrCtrl = $ieFrame.contentDocument.getElementById("user_name") 
if ($usrCtrl -eq $null) { 
     " usrCtrl is null at 4" |Out-File 'D:\\file.txt' -Append 
} 

$usrCtrl = $ieFrame.getElementById("user_name") 
if ($usrCtrl -eq $null) { 
    " usrCtrl is null at 5" |Out-File 'D:\\file.txt' -Append 
    } 

$usrCtrl.value=$username 
$pass=$ieFrame.contentWindow.Document.getElementById("user_password").value=$password 
$buttn=$ieFrame.contentWindow.document.getElementById("sysverb_login").click() 

quand je lance ce code de Powershell ISE Je reçois usrCtrl non nulle à 3 et 5. mais quand j'invoque la même code de programme java je reçois usrCtrl est nul à 1, 2,3 4 et 5.

Je ne peux pas comprendre ce qui se passe. quelqu'un peut me aider ..

Merci Sujith

Répondre

0

Modifier cette

cd HKCU:\"Software\Microsoft\Windows\CurrentVersion\Internet Settings" 

à

cd "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" 

ET ceci:

D:\\file.txt 

-

D:\file.txt 
Questions connexes