Right now, I have a
user extension that I have created - it works, but really should be cleaned up,
and parts of it can be used for other purposes...
One part of my
functionality simply counts the number of rows (of some "class" - specified by
an xpath) in a table.
It looks something
like this (far from cleaned up or optimized):
var junk =
null;
var count = 1; // lets start with 1, since we know we have at least 1 row
var done = 0; // we are not yet done
while (done != 1) {
// Look for rows
try {
junk = this.page().findElement(locator + "[" + count + "]");
}
catch (e) {
// We did not find an "even" row
done = 1;
count = (count - 1); // Take away the last increment, since we did not find one
}
var count = 1; // lets start with 1, since we know we have at least 1 row
var done = 0; // we are not yet done
while (done != 1) {
// Look for rows
try {
junk = this.page().findElement(locator + "[" + count + "]");
}
catch (e) {
// We did not find an "even" row
done = 1;
count = (count - 1); // Take away the last increment, since we did not find one
}
if (done != 1) {
count++;
}
count++;
}
}
My locator looks
something like this:
"//[EMAIL PROTECTED]"alternatingRowEven\"]"
When all is said and
done we are looking for an element with a xpath like this:
"//[EMAIL PROTECTED]"alternatingRowEven\"][1]"
I just change the index value
each time thru...
So, basically, I'm
looking at the table until I don't find any more elements
matching.
Then I keep my count
to use later on.
I need to "do" this
for more than just this one "class" - I have a couple different classes of rows
(and elements) that I need to count, so I'd like to breakout the row counting
into a function I can call from my Selenium user extension - so, my
Selenium.prototype.doSomeClickThing would call my function
getRowCount.
The thing I've not
figured out how to do (and I'm sure I'm just blind and can't see the answer) is
to "find" the element from inside a function (the line in my user extension
would look something like this: var someCount = getRowCount("//[EMAIL PROTECTED]"alternatingRowEven\"]");
So, how would I
replace this line (from above) in my getRowCount function called by my Selenium
doSomeClickThing command:
junk =
this.page().findElement(locator + "[" + count + "]");
Hope this makes
sense and thanks in advance for any hints you all may have.
- Mike
Taber
_______________________________________________ Selenium-users mailing list Selenium-users@lists.public.thoughtworks.org http://lists.public.thoughtworks.org/mailman/listinfo/selenium-users