Sign in to follow this  
Followers 0
suplada

_IEFrameGetObjName creates error in program

12 posts in this topic

#1 ·  Posted (edited)

Hi,

I'm having trouble with my program. It seems that when I include the line $oFrames = _IEFrameGetObjName ($oIE, "rtop") in my program, an error occurs:

If String($o_object.document.body.tagName) = "FRAMESET" Then

If String($o_object.document^ ERROR

Please help.

Edited by suplada

Share this post


Link to post
Share on other sites



Hi suplada,

Please create descriptive topics.

Using one word topics makes it really difficult to use the search feature, and those that could probably answer your question will probably not even read your thread.

Doing it enough could cause your posting privileges to be taken away all together, and we don't want that :) .

Thanks.

Share this post


Link to post
Share on other sites

Hi,

I'm having trouble with my program. It seems that when I include the line $oFrames = _IEFrameGetObjName ($oIE, "rtop") in my program, an error occurs:

If String($o_object.document.body.tagName) = "FRAMESET" Then

If String($o_object.document^ ERROR

Please help.

Share this post


Link to post
Share on other sites

Can anyone tell me what this error message mean?

The requested action with this object has failed.:

If String($o_object.document.body.tagName) = "FRAMESET" Then

If String($o_object.document^ ERROR

Thanks!

Share this post


Link to post
Share on other sites

You were warned in your welcome message ( http://www.autoitscript.com/forum/index.ph...c=81203&hl= ) on your first post that posting duplicate topics on the same subject matter was against the forum rules.

If you do it again. Your posting privileges will be removed, 3 topics on the same subject is completely rediculous.

Topics merged.


Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Share this post


Link to post
Share on other sites

Hello,

I would like to move this topic up. Please help me in a problem.

I have a part of code:

#include <IE.au3>
;_IEErrorHandlerRegister()
Local $oIE = _IEAttach ('test_URL', 'URL')
Local $oFrames = _IEFrameGetCollection($oIE)
Local $iNumFrames = @extended
If $iNumFrames > 0 Then
    If _IEIsFrameSet($oIE) Then
        MsgBox(0, "Frame Info", "Page contains " & $iNumFrames & " frames in a FrameSet")
    Else
        MsgBox(0, "Frame Info", "Page contains " & $iNumFrames & " iFrames")
    EndIf
Else
    MsgBox(0, "Frame Info", "Page contains no frames")
EndIf
Local $oFrame = _IEFrameGetObjByName($oIE, "where_to_go")

After running the script, I get AutoIt error:

C:\Program Files\AutoIt3\Include\IE.au3 (726) : ==> The requested action with this object has failed.:

If String($o_object.document.body.tagName) = "FRAMESET" Then

If String($o_object.document^ ERROR

Looks like BODY is not defined in my page. But on another machine, this script is passed.

I use AutoIt for about two years and now I faced to this problem. I guess I made some wrong settings on SciTE, AutoIt, or Internet Explorer (IE8) occasionally.

Could anybody help?

Share this post


Link to post
Share on other sites

You'll get a much better console message if you take the comment off of the _IEErrorHandlerRegister() line. Do that and post the results.

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

Hello, now I have another message:

--> COM Error Encountered in example.au3

----> $IEComErrorScriptline = 726

----> $IEComErrorNumberHex = 80020009

----> $IEComErrorNumber = -2147352567

----> $IEComErrorWinDescription = Access is denied.

----> $IEComErrorDescription = Access is denied.

----> $IEComErrorSource =

----> $IEComErrorHelpFile = C:\Windows\System32\mshtml.hlp

----> $IEComErrorHelpContext = 0

----> $IEComErrorLastDllError = 0

--> COM Error Encountered in example.au3

----> $IEComErrorScriptline = 2227

----> $IEComErrorNumberHex = 80020009

----> $IEComErrorNumber = -2147352567

----> $IEComErrorWinDescription = Access is denied.

----> $IEComErrorDescription = Access is denied.

----> $IEComErrorSource =

----> $IEComErrorHelpFile = C:\Windows\System32\mshtml.hlp

----> $IEComErrorHelpContext = 0

----> $IEComErrorLastDllError = 0

C:\Program Files\AutoIt3\Include\IE.au3 (2270) : ==> Object referenced outside a "With" statement.:

Return SetError($_IEStatus_Success, $oTemp.GetElementsByTagName($s_TagName).length, $oTemp.GetElementsByTagName($s_TagName))

Return SetError($_IEStatus_Success, $oTemp.GetElementsByTagName($s_TagName)^ ERROR

Share this post


Link to post
Share on other sites

Access is denied. indicates that you are running into a security issue enforced by IE whereby you cannot gain access to a frame whose source is in another domain. You'll need to open the frame in a new window with _IECreate. Search for cross-domain security.

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

I tried to open the frame in another window by _IECreate but if I click the links in it, empty windows with white body appear.

Could you explain me, how could it happen? Why I can click the links manually - without any 'Access Denied' message - but I cannot click them by AutoIt command?

Share this post


Link to post
Share on other sites

Can't guess. It depends on how the page is scripted. The frame restriction is because of IE cross-domain scripting security -- google it.

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

Now I found an IE setting which helped me to get access to frames.

IT is : Tools > Internet Options > Security > Local Intranet. Click Sites.

Some settings for my IE are managed by administrator, but I unchecked 'Automatically detect intranet network'.

After that, I got access to my all resources.

Thank you. May be my decision would help somebody.

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  
Followers 0