How can i read Frame content with TWebBrowser?


im making a software for my company and i need to read the frame content (wich are from other domains) and assign them to a var. Im using TWebBrowser component since it interpret js code, but im getting "access is denied" error due to cross domain security. How can i bypass it? and if its not possible is there any component wich will allow me to read the frame content (the component MUST execute js code).

Thanks a lot.

procedure TForm1.Button1Click(Sender: TObject); 
  i: integer; 
  for i := 0 to (WebBrowser1.OleObject.Document.frames.Length - 1) do 
    if WebBrowser1.OleObject.Document.frames.item(i).document.queryCommandEnabled('Copy') then 
      ShowMessage('copy command is enabled for frame no.' + IntToStr(i));

Open in new window

Who is Participating?
Eddie ShipmanConnect With a Mentor All-around developerCommented:
[quote]But on this case i must get the code WITHOUT any additional requests.[/quote]
IMPOSSIBLE with security. You can use XMLHTTP but you must pass authorization info in your request.
Is it login data from the frame window? For instance the data on the page you are trying to scrape is user login based? If not I just have my server call the frame url and grab the data via xmlhttp (ASP) or anoter way via some other server side language... if its login based, I think you are SOL.
epagosAuthor Commented:
no, its login based.
And yes i have tried to retrieve frames url through another browser request. But on this case i must get the code WITHOUT any additional requests.
You might want to check this out

It's a bit of a read, but worth it.
Forced accept.

EE Admin
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.