kawliga751

Multiple Tab and Login in IE

17 posts in this topic

#1 ·  Posted (edited)

I am trying to script the opening of multiple tabs in IE with each tab having a separate login/password. I have been able to make a successful script that will open 3 separate IE sessions with the correct webpage and login or a script that will open 3 tabs in one session (which I want) but will not login. I have tried _IECreate, IEAttach etc. This is the script I am currently using . 

#include <IE.au3>
Const $navOpenInNewTab = 0x0800

Dim $oIE = _IECreate('http://asag.xxxxxxx.com/AAAA/index.htm')

;$o_IE.Navigate2('http://asag.xxxxxxx.com/apps/yyyyyyy/LogInSAG/login.asp', $navOpenInNewTab)

;$o_IE.Navigate2('http://asag.xxxxxxx.com/apps/yyyyyyy/LogInSAG/login.asp', $navOpenInNewTab)

Call ("YYYYYYYSignIn")

Func YYYYYYYSignIn ()

    Local $username = _IEGetObjByName ($oIE,"uname")
    Local $password = _IEGetObjByName ($oIE,"pword")

    $oIE.Navigate2('http://asag.xxxxxxx.com/apps/xxxxxxx/LogInSAG/login.asp',2048)

_IEFormElementSetValue ($username, "xxxxxxx")
    _IEFormElementSetValue ($password, "xxxxxxx")

    Send('{Enter}')

EndFunc


Call ("xxxxxxxSignIn")

Func xxxxxxxSignIn ()

__IENavigate($oIE, "https://soa1gui.xxxxxxx.biz/gateway/NFServlet;jsessionid=1E3B8F6520DE0A1EC914A8ABB7E86341?NFH_MessageId=&NFH_Page=%2fpages%2fsearch%2fsearch.jsp", 1, 0x800)


    Local $domain = _IEGetObjByName ($oIE,"NF_CustomerID")
    Local $User_Name = _IEGetObjByName ($oIE,"NF_UserName")
    Local $Password = _IEGetObjByName ($oIE,"NF_Password")

    _IEFormElementSetValue ($domain, xxxxxxx")
    _IEFormElementSetValue ($User_Name, "xxxxxxx")
    _IEFormElementSetValue ($Password, "xxxxxxx")

    ;Send('{Enter}')

    EndFunc

 

Edited by kawliga751

Share this post


Link to post
Share on other sites



#2 ·  Posted

You didn't tell us where your script is failing, so it's difficult to know how to help. If I were writing this, it would go something like this --

#include <IE.au3>
Const $navOpenInNewTab = 0x0800

Local $oIE, $oIE2, $oIE3

$oIE = _IECreate('http://asag.xxxxxxx.com/AAAA/index.htm')
$oIE.Navigate2('http://asag.xxxxxxx.com/apps/xxxxxxx/LogInSAG/login.asp', $navOpenInNewTab)
$oIE.Navigate2('https://soa1gui.xxxxxxx.biz/gateway/NFServlet;jsessionid=1E3B8F6520DE0A1EC914A8ABB7E86341?NFH_MessageId=&NFH_Page=%2fpages%2fsearch%2fsearch.jsp', $navOpenInNewTab)

$oIE2 = _IEAttach("http://asag.xxxxxxx.com/apps/xxxxxxx/LogInSAG/login.asp", "URL")
$oIE3 = _IEAttach("'https://soa1gui.xxxxxxx.biz/gateway", "URL")

LoginSite1()
LoginSite2()
LoginSite3()


Function LoginSite1()
    Local $username = _IEGetObjByName ($oIE,"uname")
    Local $password = _IEGetObjByName ($oIE,"pword")

    _IEFormElementSetValue ($username, "xxxxxxx")
    _IEFormElementSetValue ($password, "xxxxxxx")

    ; Need form object here
    _IEFormSubmit()
EndFunc

Function LoginSite2()
    Local $domain = _IEGetObjByName ($oIE2,"NF_CustomerID")
    Local $User_Name = _IEGetObjByName ($oIE2,"NF_UserName")
    Local $Password = _IEGetObjByName ($oIE2,"NF_Password")

    _IEFormElementSetValue ($domain, xxxxxxx")
    _IEFormElementSetValue ($User_Name, "xxxxxxx")
    _IEFormElementSetValue ($Password, "xxxxxxx")

    ; Need form object here
    _IEFormSubmit()
EndFunc

Function LoginSite3()
    ; Site 3 code goes here using $oIE3
    
    ; Need form object here
    _IEFormSubmit()
EndFunc

 

Share this post


Link to post
Share on other sites

#3 ·  Posted

Thanks , and not to be stupid, but, I'm not sure what to put for ...

; Need form object here
    _IEFormSubmit()

 

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

d'oh...so I think I got that, they do all open but still not able to login on either tab

Here's what I've got now:


 

#include <IE.au3>
Const $navOpenInNewTab = 0x0800

Local $oIE, $oIE2, $oIE3

$oIE = _IECreate('http://asag.xxxxx.com/ASAG/index.htm')
$oIE.Navigate2('http://asag.xxxxx.com/apps/xxxxx/LogInSAG/login.asp', $navOpenInNewTab)
$oIE.Navigate2('https://soa1gui.xxxxx.biz/gateway/NFServlet;jsessionid=1E3B8F6520DE0A1EC914A8ABB7E86341?NFH_MessageId=&NFH_Page=%2fpages%2fsearch%2fsearch.jsp', $navOpenInNewTab)

$oIE2 = _IEAttach("http://asag.xxxxx.com/apps/xxxxx/LogInSAG/login.asp", "URL")
$oIE3 = _IEAttach("'https://soa1gui.xxxxx.biz/gateway", "URL")

;LoginSite1()
;LoginSite2()
;LoginSite3()


Func LoginSite1()
    Local $username = _IEGetObjByName ($oIE,"uname")
    Local $password = _IEGetObjByName ($oIE,"pword")

    _IEFormElementSetValue ($username, "xxxxx")
    _IEFormElementSetValue ($password, "xxxxx")

    ; Need form object here
    _IEFormSubmit($oIE2)
EndFunc

Func LoginSite2()
    Local $domain = _IEGetObjByName ($oIE2,"NF_CustomerID")
    Local $User_Name = _IEGetObjByName ($oIE2,"NF_UserName")
    Local $Password = _IEGetObjByName ($oIE2,"NF_Password")

    _IEFormElementSetValue ($domain, xxxxx")
    _IEFormElementSetValue ($User_Name, "xxxxx")
    _IEFormElementSetValue ($Password, "xxxxx")

    ; Need form object here
    _IEFormSubmit($oIE3)
EndFunc

 

Edited by kawliga751

Share this post


Link to post
Share on other sites

#5 ·  Posted

You can't use _IEFormSubmit like that. You need to pass a reference to the actual form object that holds the other elements you previously accessed. If there is only a single form, the you can do this --

Local $oForm = _IEFormGetCollection($oIE, 0)
_IEFormSubmit($oForm)

 

Share this post


Link to post
Share on other sites

#6 ·  Posted

Thanks again but I'm obviously still missing something....this still opens each tab but doesn't login.  

#include <IE.au3>
Const $navOpenInNewTab = 0x0800

Local $oIE, $oIE2, $oIE3

$oIE = _IECreate('http://asag.xxxxx.com/ASAG/index.htm')
$oIE.Navigate2('http://asag.xxxxx.com/apps/xxxxx/LogInSAG/login.asp', $navOpenInNewTab)
$oIE.Navigate2('https://soa1gui.xxxxx.biz/gateway/NFServlet;jsessionid=1E3B8F6520DE0A1EC914A8ABB7E86341?NFH_MessageId=&NFH_Page=%2fpages%2fsearch%2fsearch.jsp', $navOpenInNewTab)

$oIE2 = _IEAttach("http://asag.xxxxx.com/apps/xxxxx/LogInSAG/login.asp", "URL")
$oIE3 = _IEAttach("'https://soa1gui.xxxxx.biz/gateway", "URL")

;LoginSite1()
;LoginSite2()
;LoginSite3()


Func LoginSite1()
    Local $username = _IEGetObjByName ($oIE,"uname")
    Local $password = _IEGetObjByName ($oIE,"pword")

    _IEFormElementSetValue ($username, "xxxxx")
    _IEFormElementSetValue ($password, "xxxxx")

    ; Need form object here
   Local $oForm = _IEFormGetCollection($oIE, 0)
    _IEFormSubmit($oForm)
EndFunc

Func LoginSite2()
    Local $domain = _IEGetObjByName ($oIE2,"NF_CustomerID")
    Local $User_Name = _IEGetObjByName ($oIE2,"NF_UserName")
    Local $Password = _IEGetObjByName ($oIE2,"NF_Password")

    _IEFormElementSetValue ($domain, xxxxx")
    _IEFormElementSetValue ($User_Name, "xxxxx")
    _IEFormElementSetValue ($Password, "xxxxx")

    ; Need form object here
    Local $oForm = _IEFormGetCollection($oIE, 0)
    _IEFormSubmit($oForm)
EndFunc

 

Share this post


Link to post
Share on other sites

#7 ·  Posted

3 minutes ago, kawliga751 said:

Thanks again but I'm obviously still missing something....this still opens each tab but doesn't login

You're using the wrong $oIE object. If you are logging into site #2, then use $oIE2, not $oIE.

Share this post


Link to post
Share on other sites

#8 ·  Posted

I m

Func LoginSite1()
    Local $username = _IEGetObjByName ($oIE2,"uname")
    Local $password = _IEGetObjByName ($oIE2,"pword")

    _IEFormElementSetValue ($username, "xxxxxxx")
    _IEFormElementSetValue ($password, "xxxxxxx")

    ; Need form object here
    ;_IEFormSubmit($oIE2)

    Local $oForm = _IEFormGetCollection($oIE2, 0)
    _IEFormSubmit($oForm)

EndFunc

Func LoginSite2()
    Local $domain = _IEGetObjByName ($oIE3,"NF_CustomerID")
    Local $User_Name = _IEGetObjByName ($oIE3,"NF_UserName")
    Local $Password = _IEGetObjByName ($oIE3,"NF_Password")

    _IEFormElementSetValue ($domain, "yyyyyy")
    _IEFormElementSetValue ($User_Name, "yyyyyy")
    _IEFormElementSetValue ($Password, "yyyyyy")

    ; Need form object here
    ;_IEFormSubmit($oIE3)

    Local $oForm = _IEFormGetCollection($oIE3, 0)
    _IEFormSubmit($oForm)

EndFunc

eant to mention that I had tried that.....same issue.....this is my revied script with the $oIE2 & $oIE3

Share this post


Link to post
Share on other sites

#9 ·  Posted

Also, there is not login on the initial page (oIE).....only on the other 2 tabs

Share this post


Link to post
Share on other sites

#10 ·  Posted

So which function is currently working, LoginSite1 or LoginSite2?

Post the results from the Scite output window.

Share this post


Link to post
Share on other sites

#11 ·  Posted

The page opens and it open 3 tabs with the correct address but it does not login on either the 2nd or 3rd tab....the only "error" is :

--> IE.au3 T3.0-2 Warning from function _IEAttach, $_IESTATUS_NoMatch

 

Share this post


Link to post
Share on other sites

#12 ·  Posted

That's an important detail. If the _IEAttach fails, then you don't have a valid object reference to the desired tab. You need to fix that before continuing. You can check @error after the _IEAttach command to help identify which line is failing and why.

Share this post


Link to post
Share on other sites

#13 ·  Posted

disregard that "error" I fixed it. I don't have access to the full output window

Share this post


Link to post
Share on other sites

#14 ·  Posted

so back to opening each window but not able to login

Share this post


Link to post
Share on other sites

#15 ·  Posted

So neither site logs in. Do either of them update with the user name, password, etc that you are setting with _IEFormElementSetValue?

Can you post the full output from Scite?

Share this post


Link to post
Share on other sites

#16 ·  Posted

Correct. neither site logs in , no user name , password etc. ....sorry not sure about "  full output from Scite? "

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Similar Content

    • nassausky
      By nassausky
      Hi all,
       
      Anyone have any idea how to close all open tabs except a specific one I manually open.  Assuming I don't know what is open in all the tabs except just the one I want to keep open.
       
      I didn't want to use sendkeys and I was trying to use the following code to list the title (or url) of the 3 open tabs and  after I got that part working I would just close the other 2. This sample only displays the title of the first open tab
      #include <IE.au3> Const $ie_new_in_tab = 0x0800 $oIE = _IECreate("https://www.autoitscript.com") __IENavigate($oIE, "https://www.autoitscript.com/forum/", 1, $ie_new_in_tab) ;(obj,url,wait,param) __IENavigate($oIE, "https://www.google.com/", 1, $ie_new_in_tab) ;(obj,url,wait,param) Local $aIE[1] $aIE[0] = 0 Local $i = 1, $oIE While 1     $oIE = _IEAttach("", "instance", $i)     If @error = $_IEStatus_NoMatch Then ExitLoop     ConsoleWrite(_IEPropertyGet($oIE, "title") & @CRLF)     ReDim $aIE[$i + 1]     $aIE[$i] = $oIE ;each item holds object     $aIE[0] = $i ;first item holds count     $i += 1 WEnd MsgBox($MB_SYSTEMMODAL, "Browsers Found", "Number of browser instances in the array: " & $aIE[0]) ; This doesn't return the list of tabs in the console just the first tab  
      Thanks for any and all help
    • toto22
      By toto22
      I'm trying to click on Java Dropbox using IE. However, I'm running into problems. There is a Dropbox "Please Select" with two options "Buy" and "Sell".
      I'm able to click on a drop box (please see code below) but i'm unable to select "Buy" or "Sell"".
      Local $sMyString = "Please Select" ;############ ENTER ############# Local $oLinks = _IELinkGetCollection($oIE) For $oLink In $oLinks Local $sLinkText = _IEPropertyGet($oLink, "innerText") If StringInStr($sLinkText, $sMyString) Then _IEAction($oLink, "click") ExitLoop EndIf Next  
      Please help
       
         
    • Gowrisankar
      By Gowrisankar
      Hello everyone,
      I'm working on a task where, a PDF file is opened (in IE browser) when I click a link in a website.
      I have to read the first page of the PDF to find particular strings. Can you please share some ideas?
    • Seminko
      By Seminko
      Hey,
      i would like to set a value into an INPUT field.
      Checked the _IEFormElementSetValue function but that does require _IEFormGetObjByName and this is where the problem comes in. The input field I want to write to is not a part of a form tag. It is part of a table.
      <input type="text" class="w2" id="nabidka_vozidel_formular_tach_od" name="nabidka_vozidel_formular_tach_od" onchange="GLOBAL.pocetInzerceNZ(&quot;nabidka_vozidel_formular&quot;,&quot;tach_od&quot;,&quot;&quot;);" autocomplete="off"> I tried this but that didn't work:
      $oDownloadSamples = _IEGetObjById($oIE, "nabidka_vozidel_formular_tach_od") _IEFormElementSetValue($oDownloadSamples, "123") If you want to try the site I'm working with is https://www.tipcars.cz/. There is a menu on the top left hand side and if you click the "vyhledat" button the input fields will show up.
      Thanks