click on checkbox in webpage using vb

Any idea how to click on one of the check boxes in the below web page html

<ol id="cabinetDocuments">
   
    <li class="line" rel="Scan_2014_02_04_12_55_04_036.pdf">        
        <div class="unit">
            <input type="checkbox" /><span class="doc-icon pdf" Title="Scan_2014_02_04_12_55_04_036.pdf">Scan_2014_02_04_12_55_04_036.pdf</span>
        </div>
        <div class="lastUnit">
            2/4/2014 1:22:04 PM
        </div>
    </li>
   
    <li class="line" rel="Scan_2014_02_04_12_53_55_486.pdf">        
        <div class="unit">
            <input type="checkbox" /><span class="doc-icon pdf" Title="Scan_2014_02_04_12_53_55_486.pdf">Scan_2014_02_04_12_53_55_486.pdf</span>
        </div>
        <div class="lastUnit">
            2/4/2014 1:20:58 PM
        </div>
    </li>
   
    <li class="line" rel="Scan_2014_02_04_12_53_45_246.pdf">        
        <div class="unit">
            <input type="checkbox" /><span class="doc-icon pdf" Title="Scan_2014_02_04_12_53_45_246.pdf">Scan_2014_02_04_12_53_45_246.pdf</span>
        </div>
        <div class="lastUnit">
            2/4/2014 1:20:49 PM
        </div>
    </li>
   
    <li class="line" rel="Scan_2014_02_04_12_53_36_176.pdf">        
        <div class="unit">
            <input type="checkbox" /><span class="doc-icon pdf" Title="Scan_2014_02_04_12_53_36_176.pdf">Scan_2014_02_04_12_53_36_176.pdf</span>
        </div>
        <div class="lastUnit">
            2/4/2014 1:20:39 PM
        </div>
    </li>
rjefAsked:
Who is Participating?
 
RobOwner (Aidellio)Commented:
Ah ok, change uses round brackets for arrays so change all the square [ ] brackets to round ( )
0
 
RobOwner (Aidellio)Commented:
You need to give the checkbox an ID.
Do you want to set it checked when the page loads (add attribute "checked='checked'") or based on some kind of user action (onclick="")?
0
 
NorieVBA ExpertCommented:
Which checkbox do you want to click?

Also, what code do you have so far?
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
rjefAuthor Commented:
lets say i want to click on this check box
<li class="line" rel="Scan_2014_02_04_12_53_55_486.pdf">        
        <div class="unit">
            <input type="checkbox" /><span class="doc-icon pdf" Title="Scan_2014_02_04_12_53_55_486.pdf">Scan_2014_02_04_12_53_55_486.pdf</span>
        </div>
        <div class="lastUnit">
            2/4/2014 1:20:58 PM
        </div>
    </li>
i am trying to use the ie.document.getElementById(  but i do now the id of the checkbox.

also i forgot to metion i am using vb6
0
 
RobOwner (Aidellio)Commented:
You can't use an ID if there isn't one. Add the ID as an attribute to the checkbox

<input type="checkbox" id="chk1" />

Then use your code with that ID
0
 
rjefAuthor Commented:
maybe i don't understand.  I am trying to set the checkbox on a web site using the webbrowser control in vb6.  I have no control of the source.  you can email me at rjef041364@yahoo.com and i can send you the viewsource code for (the website ) you can review.
0
 
RobOwner (Aidellio)Commented:
No, you do but I also understand a little more now.  Given you don't have access to the site, you can't reference that checkbox using the getElementById function.  What you're going to have to do is navigate the XML manually:

http://jsbin.com/pogah/1/edit?html,js,output

document.querySelector(".line>div>input[type='checkbox']").checked="checked";
0
 
rjefAuthor Commented:
so how do put this in my vb app and how would i check the second checkbox instead of the 1st.
0
 
RobOwner (Aidellio)Commented:
You'd put it in the same place as you we going to with your getElementById.
To get the second you need to use a slightly different version of the function, querySelectorAll. This week return all elements matched rather than just the first.
0
 
rjefAuthor Commented:
Rob,
   Please email me at rjef041364@yahoo.com and i will send you the complete source could from the website.  you do understand i cannot change code on the website.  I want to manipulate from the client side.
0
 
NorieVBA ExpertCommented:
You don't know the id of the checkbox but you do know the id of the ordered list the checkbox is in.

So you can grab the list and then loop through it to find the checkbox you want and set it to be checked.
0
 
rjefAuthor Commented:
imnorie please provide an example
0
 
NorieVBA ExpertCommented:
Can you provide the URL of the site?
0
 
RobOwner (Aidellio)Commented:
Ah good catch. I missed that.
This week give the third element (zero based array)

document.getElementById("cabinetDocuments").children[2].firstChild.firstChild.firstChild.checked="checked"
0
 
rjefAuthor Commented:
imnorie,
the site is behind a firewall .  if you email me at rjef041364@yahoo.com i can send you all of
it.
0
 
RobOwner (Aidellio)Commented:
Did you see the code in my last comment?
0
 
rjefAuthor Commented:
yes not to sure how to use it though.   my example only had 4 firstchilds but there could be many many more.  would i just keep adding firstchild's?
0
 
RobOwner (Aidellio)Commented:
No, there are only ever going to be 3 firstchilds as they are referring to the elements like this:

document.getElementById("cabinetDocuments") <==== this is the OL ordered list
.children[2]   <===== THIS IS THE KEY - you vary the number to get each child in the OL
.firstChild      <===== This is the <li class="line" rel="Scan_2014_02_04_12_53_55_486.pdf">        
.firstChild      <===== This is the <div class="unit">
.firstChild.checked="checked"    <===== this is the checkbox <input type="checkbox" />
0
 
rjefAuthor Commented:
it says object required.

ie.document.getElementById("cabinetDocuments").children [2].firstChild.firstChild.firstChild.Checked = "checked"

also there is the in the source before the 'cabinetdocuments' if that matters.

    </ul>
    <div id="cabinetContentOuter">
        <div id="cabinetContent">
            <div id="cabinetResults">
0
 
RobOwner (Aidellio)Commented:
Not sure why firstChild doesn't work, however this does:

var n=3; // 4th checkbox
document.getElementById("cabinetDocuments").children[n].children[0].children[0].checked="checked";
0
 
RobOwner (Aidellio)Commented:
http://jsbin.com/cun/2/edit to see it in action
0
 
rjefAuthor Commented:
error
see attachment
Presentation1.jpg
0
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.