Jump to content
Sign in to follow this  
allSystemsGo

IE10 and IE.au3 compatibility

Recommended Posts

allSystemsGo

I've done a few IE automation scripts but this is the first time I have ran in to this issue. The site that I am trying to automate thinks that IE is running in compatibility view. I guess the embedded IE object runs in compatibility view? I have tried turning off compatibility view in Internet Explorer settings, but it seems that it still does not resolve my issue. I do not receive any type of error, autoit just crashes out. Has anyone else experienced this? Is there a way to force a certain version of IE?

Thanks!

Share this post


Link to post
Share on other sites
Colyn1337

Is it that the browser is switching into compatibility mode, or that the website thinks you're running in an earlier version than you are?

Share this post


Link to post
Share on other sites
allSystemsGo

I think the website thinks I am running an earlier version. If i navigate to the site in IE, then switch on compatibility mode I get this (see screenshot) which is what I see in my embedded IE window.

I am running IE 10.

Region Capture.bmp

Share this post


Link to post
Share on other sites
BrewManNH

Try this script, and see what the agent string you get is. On IE9 I get this "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)", on IE 9 using the script I get this "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0;.NET CLR 2.0.50727;SLCC2;.NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0c; InfoPath.3)". It appears that the embedded version is in compatibility mode for IE7 if I'm reading that string correctly.

; Trap COM errors so that 'Back' and 'Forward'
; outside of history bounds does not abort script
; (expect COM errors to be sent to the console)

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>

Local $oIE = _IECreateEmbedded()
GUICreate("Embedded Web control Test", 640, 580, _
        (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, _
        $WS_OVERLAPPEDWINDOW + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
GUICtrlCreateObj($oIE, 10, 40, 600, 360)
Global $GUI_Button_Back = GUICtrlCreateButton("Back", 10, 420, 100, 30)
Global $GUI_Button_Forward = GUICtrlCreateButton("Forward", 120, 420, 100, 30)
Global $GUI_Button_Home = GUICtrlCreateButton("Home", 230, 420, 100, 30)
Global $GUI_Button_Stop = GUICtrlCreateButton("Stop", 340, 420, 100, 30)

Global $GUI_Error_Message = GUICtrlCreateLabel("", 100, 500, 500, 30)
GUICtrlSetColor(-1, 0xff0000)

GUISetState() ;Show GUI

_IENavigate($oIE, "http://www.whatismybrowser.com/")
_IEAction($oIE, "stop")

; Waiting for user to close the window
While 1
    Local $msg = GUIGetMsg()
    Select
        Case $msg = $GUI_EVENT_CLOSE
            ExitLoop
        Case $msg = $GUI_Button_Home
            _IENavigate($oIE, "http://www.whatismybrowser.com/")
            _IEAction($oIE, "stop")
            _IEAction($oIE, "back")
            CheckError("Home", @error, @extended)
        Case $msg = $GUI_Button_Back
            _IEAction($oIE, "back")
            CheckError("Back", @error, @extended)
        Case $msg = $GUI_Button_Forward
            _IEAction($oIE, "forward")
            CheckError("Forward", @error, @extended)
        Case $msg = $GUI_Button_Stop
            _IEAction($oIE, "stop")
            CheckError("Stop", @error, @extended)
    EndSelect
WEnd

GUIDelete()

Exit

Func CheckError($sMsg, $error, $extended)
    If $error Then
        $sMsg = "Error using " & $sMsg & " button (" & $extended & ")"
    Else
        $sMsg = ""
    EndIf
    GUICtrlSetData($GUI_Error_Message, $sMsg)
EndFunc   ;==>CheckError

BTW, this is the example script from _IECreateEmbedded with the URL changed.


If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites
mLipok

@BrewManNH

very interesting site


i have similar data:

Internet Explorer 10 on Windows 7
Possibly running on Windows Server 2008 R2, 32 bit compatibility layer
 
 
and using script
 

Internet Explorer 10 on Windows 7

Internet Explorer 7 Compatibility View, 32 bit compatibility layer, Media Center PC v6.0

 

ps.

I have a Win7 64 bit , and if I have a good memory, then there was IE 64Bit, but now I can not find them.

Edited by mlipok

Signature beginning:   Wondering who uses AutoIT and what it can be used for ?
* GHAPI UDF - modest begining - comunication with GitHub REST API Forum Rules *
ADO.au3 UDF     POP3.au3 UDF     XML.au3 UDF    How to use IE.au3  UDF with  AutoIt v3.3.14.x  for other useful stuff click the following button

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library
 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection *

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2018-10-15

Share this post


Link to post
Share on other sites
allSystemsGo

@BrewMan

Yeah, that is interesting.

I upgraded to IE 11 preview, and the site no longer reports that it is in compatibility view.

However, the site still does not render properly. I guess the embedded control cannot hand the javascript(?) that is running on the site.

Share this post


Link to post
Share on other sites
allSystemsGo

Maybe this will help. The first attachment shows what I am getting in the embedded IE, and the second is what is should show..the big black square covers a table of devices which I can then export to CSV...but my the script crashes after trying to load this site.

post-77857-0-47952700-1380811914_thumb.p

post-77857-0-66006500-1380811926_thumb.p

Share this post


Link to post
Share on other sites
allSystemsGo

I'll just do away with _IECreateEmbedded(), and use _IECreate(). I plan on doing away with the GUI anyway...just was using for testing purposes. Looks like javascript does not play well with autoit embedded IE.

Share this post


Link to post
Share on other sites
DaleHohm

I don't recommend the use of _IECreateEmbedded, either.  It is really just a simple wrapper for GUICtrlCreateObj that has always had lots of troubles like this.

See my sig for creative alternatives created by other members that make a full browser instance act embedded.

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
allSystemsGo

Ah, Dale. I am glad you showed up.

What is the best way to deal with the little pop-up that shows up at the bottom of IE when downloading a file?

I cannot use INETGET()...it just returns the html. The file I am trying to get is generated by a javascript (as far as I can tell)

Attached image for clarity

Region Capture.bmp

Share this post


Link to post
Share on other sites
DaleHohm

Those dialogs are not part of the DOM, so must be managed with windows GUI functions.  You may also want to look at the recent thread about IUIAutomation.

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

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  

×