Jump to content
Sign in to follow this  
twillster

Webpage status check

Recommended Posts

twillster

Hey all, i'm trying to use the IE udf to determine the status of my online banking.  Basically I'm trying to bring up the login page and use that as part of my check.

I'm using beta 3.3.9 with the newest IE udf from 3/13.

So this is the code I have.... (very small at this point and time)

#include <ie.au3>

$URL = "https://secure.ambankiowa.com/pbi_pbi1961/pbi1961.ashx?Rt=073917641&LogonBy=Connect3&PRMAccess=Portfolio"

Local $oIE = _IECreate($URL)
MsgBox(1,"Error",@EXTENDED)

Exit

The problem is, _IELoadWait never returns.  It eventually times out.  Now, I read something about it possibly being XML related, but I'm not quite sure.

Any ideas would be appreciated.

Share this post


Link to post
Share on other sites
Neutro

Hey,

This is working for me on IE9 and latest official release of autoit.

#include <ie.au3>

$URL = "https://secure.ambankiowa.com/pbi_pbi1961/pbi1961.ashx?Rt=073917641&LogonBy=Connect3&PRMAccess=Portfolio"

Local $oIE = _IECreate($URL, -1, -1, 1)
if $oIE <> 0 then 
 msgbox(1,"Info", "Page loaded successfully!")
else
 msgbox(1,"Info", "Error loading webpage. Error code "& @error)
endif

Does it work for you as well?

Edited by Neutro

Share this post


Link to post
Share on other sites
twillster

Huh... I have IE9 too. Now, I should say too that I am on a 64 bit version of Win 7, but running the 32 bit version of AutoIT.

When I run the script I get this warning:
--> IE.au3 T3.0-0 Warning from function _IEAttach, $_IEStatus_NoMatch

but it just sits and does nothing.

>"C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /beta /ErrorStdOut /in "U:\My Documents\Projects\autoit\Online Banking Verification\test.au3" /UserParams    
+>07:54:43 Starting AutoIt3Wrapper v.2.1.0.8    Environment(Language:0409  Keyboard:00000409  OS:WIN_7/Service Pack 1  CPU:X64 OS:X64)
>Running AU3Check (3.3.9.4)  from:C:\Program Files (x86)\AutoIt3\beta
+>07:54:44 AU3Check ended.rc:0
>Running:(3.3.9.4):C:\Program Files (x86)\AutoIt3\beta\autoit3.exe "U:\My Documents\Projects\autoit\Online Banking Verification\test.au3"    
--> IE.au3 T3.0-0 Warning from function _IEAttach, $_IEStatus_NoMatch

 
Just don't know why it's returning $_IEStatus_NoMatch

Share this post


Link to post
Share on other sites
DaleHohm

I ran the code in your basenote without trouble on

1) Windows 7, 32bit, IE 10, AutoIt 3.3.9.4 and the T3.0-0 version of IE.au3

2) Windows 7, 64bit, IE 8, AutoIt 3.3.9.4 and the T3.0-0 version of IE.au3

(it ran and returned quickly).

I don't have the specific config you have and I can't guess what your trouble might be.  Perhaps an intermittent problem with the website?

Dale


Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl

MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model

Automate input type=file (Related)

Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded  Better Better?

IE.au3 issues with Vista - Workarounds

SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead?

Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble

Share this post


Link to post
Share on other sites
NiVZ

I tend to use this for checking the status of webpages as it can get you the status text and status code (eg, 404 not found, 401 Not authorised, etc)

ConsoleWrite("Checking Bank: " & _GetURLStatus("https://secure.ambankiowa.com/pbi_pbi1961/pbi1961.ashx?Rt=073917641&LogonBy=Connect3&PRMAccess=Portfolio") & :@CRLF)
 
Func _GetURLStatus($inURL)
 
   Local $val = ""
 
   Local $objHTTP = ObjCreate("MSXML2.ServerXMLHTTP.6.0")
   $objHTTP.Open("GET", $inURL, false)
 
   ; Uncomment next 4 lines if using a proxy server
   ;Local $proxyserver  = "" ; add proxy server name
   ;Local $proxyport  = "" ; add proxy server port
   ;Local $ProxyExceptions = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings", "ProxyOverride") ; get any proxy exceptions
   ;$objHTTP.setProxy("2", $proxyserver & ":" & $proxyport, $ProxyExceptions)
  
   $objHTTP.Send(" ")
 
   ; Check the status code of the request
   If $objHTTP.status = "200" Then
    $val = $objHTTP.statusText
   Else
    $val = $objHTTP.statustext & " (" & $objHTTP.status & ")"
   EndIf
 
   Return $val
 
EndFunc
 
 

NiVZ

Edited by NiVZ

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
Sign in to follow this  

  • Similar Content

    • bhns
      By bhns
      try it for make flyers old games xml + Gdi, i belive many sources had lost 
      AIT-ADRLIST.au3

    • RamaKrishna9
      By RamaKrishna9
      What are the minimum system requirements(like Windows OS version, IE browser version, etc,.) for IE.au3(3.3.14.2) to work properly?
    • CosminV
      By CosminV
      Hello guys,
       
      This XML things are driving me crazy...
      Please let me know how can I use the _XMLGetAttrib function... I've tried every possible way that I've read on the forum and I cannot succeed reading an attribute.
       
      The XML looks like bellow:
       
      <?xml version="1.0" encoding="UTF-8"?>
      <BATCH attr1= "aaa" attr2="bbb" attr3="ccc">
           <Node1 attr1="aaa" attr2="bbb" attr3="ccc" attr4="ddd" attr5="" attr6="eee" attr7="fff" attr8="ggg"/>
           <Node2 attr1="aaa" attr2="" attr3="" attr4="ddd"/>
           <Node3 attr1="" attr2="" attr3="ccc" attr4="" attr5="" attr6="eee"/>
           <Panel attr1="aaa" STATUS="BBB" attr3="ccc" attr4="ddd" attr5="" attr6="eee">
                <Node5 attr1="aaa" attr2="bbb" attr3="ccc" attr4="ddd" attr5="" attr6="eee" attr7="fff" attr8="ggg"/>
                .............................................................................................................................................................................
           </Panel>
      </Batch>
       
      I need to read the value of STATUS form the Panel node.
       
      Could you please help me?
       
      Best regards,
      Cococnb
    • MakzNovice
      By MakzNovice
      Hello Experts,
      I am working on modifying table data of a browser currently in IE (soon in FF)
      My sequence of operations:
      1. Activate Browser
      2. Get Browser table
      3. Modify data  in table
      4. Suppress any warning/error message from webpage
      5. Activate the Webpage again 
      6. Send {F11} key sequence twice to achieve some update without Updating form ( {F5})
       
      My problem is at Step 5, as it activates the wrong window ( last used application rather than my browser window)
      My code snippet for it as follows
      $bFoundWindow = False Local $aList = WinList("[REGEXPTITLE:(?i)(.*Internet Explorer.*)]") Local $hWND = 0 For $i = 1 To $aList[0][0] If False = $bFoundWindow And $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 1) Then WinActivate($aList[$i][1]) ; 1. Activate Browser window WinSetState ( $aList[$i][1], "", @SW_MAXIMIZE) $hWND = $aList[$i][1] $objEditIE = _IEAttach ($aList[$i][1], "hwnd") $oTitles = _IETagNameGetCollection($objEditIE, "TITLE") For $oTitle In $oTitles $sTitle = $oTitle.innerText If $sTitle = $searchString Then MsgBox(0,"APPLICATION Found", "Got Edit List Window", 1) $bFoundWindow = True ExitLoop EndIf Next EndIf Next If False = $bFoundWindow Then MsgBox(0,"Error","Please launch Edit window for updating values in Browser prior to script execution",10) Exit EndIf ; MY CODE HERE TO MODIFY TABLE ; 2. Get Browser table ; 3. Modify data  in table ; Check if message from webpage pop-up window exists if so click ok on it Local $nCounter = 0 Local $nMaxCounter = 5 while 1 If WinExists("Message from webpage","") Then ControlClick("Message from webpage","","Button1","primary",1) ;4. Suppress any warning/error message from webpage Else $nCounter = $nCounter + 1 Sleep(100) ;MsgBox(0,"Counter", $nCounter, 1) If $nCounter = $nMaxCounter Then ExitLoop EndIf WEnd ;5. Activate the Webpage again  WinActivate($hWND) ; have already tried WinActivate($aList[$i][1]) but no success ;6. Send {F11} key sequence twice to achieve some update without Updating form ( {F5}) Send("{F11}") WinActivate($hWND) ;WinActivate($aList[$i][1]) Sleep(100) Send("{F11}") Any support will be highly appreciated
    • MakzNovice
      By MakzNovice
      Hello Experts,
      I am working on custom application details of which I am unable to share.
      But here is statement of my problem, I have two IE windows one window with Title "Parent " and other with "TableEdit", but for some reason when I get WinList they are shown as 2 processes each. ( see attached image)
      Since my most important motive is to modify table data in 'TableEdit' I try to access the table in it
      My code snippet is 
      ***********************************************************************************************
      $searchString = "TableEdit"
      Local $aList = WinList("[REGEXPTITLE:(?i)(.*Internet Explorer.*)]")
      _ArrayDisplay($aList)
      For $i = 1 To $aList[0][0]
          If $aList[$i][0] <> "" And BitAND(WinGetState($aList[$i][1]), 2) Then
              ;MsgBox($MB_SYSTEMMODAL, "", "Title: " & $aList[$i][0] & @CRLF & "Handle: " & $aList[$i][1])
              If 0 <> StringInStr($aList[$i][0],"TableEdit") Then
                  $objEditIE = _IEAttach ($aList[$i][1])
                  ExitLoop
              EndIf
          EndIf
      Next
      WinActivate($objEditIE)
      $oPageContentListFrame = _IEFrameGetObjByName($objEditIE, "iframe_1")
      $iNumFrames = @extended
      MsgBox(0,"Got pagecontent",@error) ; returns 3, indicating invalid data type
      MsgBox(0,"Number of Frame",$iNumFrames) ; returns 1, expected value is 1 
      ***********************************************************************************************
      and If I do code as below the return value is different
      $searchString = "TableEdit"
       $objEditIE = _IEAttach ($searchString, "title")
      WinActivate($objEditIE)
      $oPageContentListFrame = _IEFrameGetObjByName($objEditIE, "iframe_1")
      $iNumFrames = @extended
      MsgBox(0,"Got pagecontent",@error) ; returns 0
      MsgBox(0,"Number of Frame",$iNumFrames) ; returns 0. expected value is 1
      ***********************************************************************************************
      What is wrong with my code? 
      Why do I see two process each for IE for each window?
       
      WinListImage.bmp
×