Make link location in Selenium more reliable and consistent with non-Selenium

This commit is contained in:
Bryan Helmkamp 2009-09-18 15:48:08 -04:00
parent b51ba029db
commit 03f2023117

View File

@ -1,9 +1,21 @@
var links = inDocument.getElementsByTagName('a');
var candidateLinks = $A(links).select(function(candidateLink) {
var textMatched = PatternMatcher.matches(locator, getText(candidateLink));
var idMatched = PatternMatcher.matches(locator, candidateLink.id);
var titleMatched = PatternMatcher.matches(locator, candidateLink.title);
var textMatched = false;
var titleMatched = false;
var idMatched = false;
if (getText(candidateLink).toLowerCase().indexOf(locator.toLowerCase()) != -1) {
textMatched = true;
}
if (candidateLink.title.toLowerCase().indexOf(locator.toLowerCase()) != -1) {
titleMatched = true;
}
if (candidateLink.id.toLowerCase().indexOf(locator.toLowerCase()) != -1) {
idMatched = true;
}
return textMatched || idMatched || titleMatched;
});
@ -15,6 +27,6 @@ if (candidateLinks.length == 0) {
//reverse length sort
candidateLinks = candidateLinks.sortBy(function(s) {
return s.length * -1;
});
});
return candidateLinks.first();