Bartosz
Bartosz

Reputation: 4766

Search for string in a webpage with frames

I am trying to search the webpage for particular strings, and I am using the following code:

strPageContent = appIE.document.documentElement.InnerHTML

However, the page is quite complicated and has got a lot of frames and framesets, and the command above returns only the contents of some parents tag. How can I access the contents of the particular div element - please see the code below:

<html>
<head>...</head>
<frameset id="NavContent_Workhorse" frameborder="0" framespacing="0" rows="*,0">
   <frameset id="Nav_Content" border="3" frameborder="1" framespacing="3" cols="240,*">
     <frame name="nav" src="/interface/sidebar/sidebar.def" scrolling="no">
     <frame name="content" src="/interface/home.def" frameborder="1" border="3" marginheight="0" marginwidth="0" scrolling="no">
        #document
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
            <html lang>
                <head> … </head>
                <body onload="LoadAdd();">
                    <div class="PageTitle" id="PageTitle">...</div>
                    <div class="ToolBar" id="PageBody">...</div>
                    <div id="error" class="none"> … </div>
                    <div id="content" style="display: block; height: 445px;">
                      <form id="frmUSR" method="post" target="workhorse" onsubmit="return false;" action="/setup/users_groups/users/insert.sdl?parentid=14">
                        <div id="wiz_1" class="wiz_vis">
                            <table class="frmTbl">
                                <thead class="title">
                                    <tr>
                                        <th class="label">
                                            TEXT THAT I AM LOOKING FOR
                                        </th>

Thanks in advance!

Edit: I forgot to add that I did try the code below, but I get a null value

Set div = appIE.document.getElementById("wiz_1")

Edit 2:

The purpose of the script is to automate filling out the user creation forms on my company's system (webpage UI). I don't know why, but I cannot get a reference to anything that is below the main <frameset id="Nav_Content" border="3". I keep getting null values.

Upvotes: 0

Views: 1865

Answers (1)

Ansgar Wiechers
Ansgar Wiechers

Reputation: 200233

You can access the content of an element with a particular ID inside a frame like this:

Set frame = appIE.Document.parentWindow.window.frames("content")
Set div = frame.document.getElementById("wiz_1")
WScript.Echo div.innerHTML
WScript.Echo div.innerText

Upvotes: 1

Related Questions