LeLufs Posted December 20, 2014 Share Posted December 20, 2014 (edited) Hello, I used the most of time ff.au3 but since the update it won't work to work in frames. And this happened with ie since a new update too. Old versions are still working, with ff i get a cmd error And with Ie i got this: Return SetError($_IESTATUS_Success, $oTemp.GetElementsByTagName($sTagName).length, $oTemp.GetElementsByTagName($sTagName)) Return SetError($_IESTATUS_Success, $oTemp^ ERROR (I Can't click on links in a frame for example) I Hope for help to resolve this problem! Edited December 20, 2014 by LeLufs Link to comment Share on other sites More sharing options...
Danp2 Posted December 20, 2014 Share Posted December 20, 2014 Hi Lelufs, Welcome to the forum! You will likely get better help if you can provide additional information. Such as: Autoit version IE / FF versions OS details etc You mentioned that this used to work before an update, but it's not clear what changed. Was it an OS update, Autoit update, etc. Post a short script that demonstrates the issue. Regards, DanP Latest Webdriver UDF Release Webdriver Wiki FAQs Link to comment Share on other sites More sharing options...
LeLufs Posted December 21, 2014 Author Share Posted December 21, 2014 (edited) Hey, I have the newest autoit Version, Firefox is on 34.0.5 Internet Explorer on 11 _FFFrameEnter and _fflinkclick(in frame) Works on Version 32.0.0 but Not above I have win7 64Bit Edited December 21, 2014 by LeLufs Link to comment Share on other sites More sharing options...
Danp2 Posted December 21, 2014 Share Posted December 21, 2014 Can you post a script that would demonstrate the issue? Latest Webdriver UDF Release Webdriver Wiki FAQs Link to comment Share on other sites More sharing options...
junkew Posted December 21, 2014 Share Posted December 21, 2014 '?do=embed' frameborder='0' data-embedContent>> FAQ 31 How to click some elements, FAQ 40 Test automation with AutoIt, Multithreading CLR .NET Powershell CMDLets Link to comment Share on other sites More sharing options...
LeLufs Posted December 21, 2014 Author Share Posted December 21, 2014 For example if i use on ff: _FFFrameEnter(1) _FFLinkClick("example","Name") It doesn't work, i got a cmd error that he can't found it on xpath or something, But i Can read the Sourcecode in that frame and befor this update on ff it Works Same in ie with _ieframegetobjectbyname oder Collect all frames it Shows me a error That a variable ist Not true and this error in the First post Link to comment Share on other sites More sharing options...
Danp2 Posted December 21, 2014 Share Posted December 21, 2014 Sorry, but two lines of code isn't sufficient to demonstrate the issue. What website are you trying to access? Is there a reason that you won't post a working sample that we can try to run? Latest Webdriver UDF Release Webdriver Wiki FAQs Link to comment Share on other sites More sharing options...
LeLufs Posted December 21, 2014 Author Share Posted December 21, 2014 Okay, the website is Freewar.com and it is a browsergame based on frames. the registration is easy or i can give you a test account. Here a Code to read my Lifepoints and heal (Read works but it does not click on the heal link) Func Heilen() _FFFrameEnter(6) $sHtmlHeal = _FFReadhtml("body") Global $Lp = StringRegExp($sHtmlHeal,'<span class="healthok"><b>(.+?)</b>',3) Global $ItemID = StringRegExp($sHtmlHeal,'Nr\. <b>3</b>: <a href="item\.php\?action=activate&act_item_id=(.+?)"',3) ;~ _ArrayDisplay($Lp) ;~ _ArrayDisplay($ItemID) _FFFrameLeave() if $Lebenspunkte[0] = 646 then _FFFrameEnter(6) _FFLinkClick('item.php?action=activate&act_item_id='&$ItemID[0]) _FFFrameLeave() EndIf EndFunc By clicking the Link i got this Error: __FFSend: try{FFau3.simulateEvent(FFau3.xpath,'MouseEvents','click');}catch(e){'_FFCmd_Err';}; __FFRecv: -3 _FFClick ==> No match: $sElement: FFau3.xpath I can't click anything in a frame Link to comment Share on other sites More sharing options...
rand256 Posted December 21, 2014 Share Posted December 21, 2014 (edited) I spent a couple hours trying to understand how actually things work in IE.au3 and maybe find some workaround (that failed however), but I've managed to make some interesting observations. To name a few: internal IE.au3 function _IEIsFrameSet(), which is called from _IEFrameGetObjByName() whose $o_object is IEBrowser, is now unable to detect whether a main document is a frameset. It receives IEBrowser.document.parentWindow object and tries to read ".document.body.tagName" from it, but now this returns an empty string. Before IE update IEBrowser.document.parentWindow.document.body.tagName returned string "frameset" for the site I mentioned above. However we can make it read string "frameset" if we request IEBrowser.document.body.tagName instead of IEBrowser.document.parentWindow.document.body.tagName. Next I've tried to make some (a lot, actually) ugly hacks and replacements in IE.au3 I can't remember, after which I was even able to get required frame object of type HTMLWindow2. However I didn't find a way to read its document contents. It looked like there're no properties like document, documentContents or whatever in it. I don't know how to get all available properties of a COM object (if its possible at all) so after messing around for some time I've gave up. Edited December 23, 2014 by rand256 Link to comment Share on other sites More sharing options...
LeLufs Posted December 21, 2014 Author Share Posted December 21, 2014 I gave it up to, maybe it works on other browsers like Chrome Link to comment Share on other sites More sharing options...
junkew Posted December 21, 2014 Share Posted December 21, 2014 to be able to give help people need more information like au3inf output or if you use iuiautomation output of simplespy FAQ 31 How to click some elements, FAQ 40 Test automation with AutoIt, Multithreading CLR .NET Powershell CMDLets Link to comment Share on other sites More sharing options...
rand256 Posted December 22, 2014 Share Posted December 22, 2014 to be able to give help people need more information like au3inf output  What information exactly do you need? What is "au3inf" thing also? I could not find anything about it. If you mean au3info.exe tool then I don't know what kind of output from it you are asking for...  Meanwhile I've created a very simple example page to demostrate the issue. Here it is: http://erinome.net/autoit/frameset.html It works exactly the same as the page I linked above but not requires to switch compability view modes in IE or anything like that. Just clean and simple frameset with a checkbox in one of the frames. To test it yourself make sure you have IE11 browser with all security updates installed to date. I suspect one of them causing the issue which makes autoit unable to work with frames anymore. Link to comment Share on other sites More sharing options...
rand256 Posted December 23, 2014 Share Posted December 23, 2014 Thanks everyone for extremely helpful responses, the problem is "solved" by uninstalling KB3025390 IE update. Link to comment Share on other sites More sharing options...
LeLufs Posted December 23, 2014 Author Share Posted December 23, 2014 (edited) How you uninstall this update? And it seems so that this is only a temporary problem solve Edited December 23, 2014 by LeLufs Link to comment Share on other sites More sharing options...
rand256 Posted December 23, 2014 Share Posted December 23, 2014 Go to Control Panel / Programs and Features / View installed updates.Select KB3025390 there and uninstall it. Don't forget to forbid the system reinstalling it again.Regarding whether it is temporary solution or not - I'm not quiet sure that this change in IE behavior was made intentionally by Microsoft. Maybe that's just an error in that particular update which will be fixed later on. Have you read the description for KB3025390? There's nothing mentioned about changes in frame scripting policies. Nothing about frames at all. So our current unability to read frame contents may be just a temporary error in IE accidently caused by that update. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now