Skip to content

Commit

Permalink
Make link location in Selenium more reliable and consistent with non-…
Browse files Browse the repository at this point in the history
…Selenium
  • Loading branch information
brynary committed Sep 18, 2009
1 parent b51ba02 commit 03f2023
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions lib/webrat/selenium/location_strategy_javascript/webratlink.js
@@ -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;
});
Expand All @@ -15,6 +27,6 @@ if (candidateLinks.length == 0) {
//reverse length sort
candidateLinks = candidateLinks.sortBy(function(s) {
return s.length * -1;
});
});

return candidateLinks.first();

0 comments on commit 03f2023

Please sign in to comment.