Permalink
Browse files

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

…Selenium
  • Loading branch information...
1 parent b51ba02 commit 03f2023117163b855f447ef842712f549e6235a4 @brynary brynary committed Sep 18, 2009
Showing with 16 additions and 4 deletions.
  1. +16 −4 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;
});
@@ -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.