Make link location in Selenium more reliable and consistent with non-Selenium
This commit is contained in:
parent
b51ba029db
commit
03f2023117
@ -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();
|
||||
|
Loading…
Reference in New Issue
Block a user