Reputation: 673
I've got a div in an HTML Page of which the name is always known and inside this div there is an href, the details of which are not known. It could be the direct child of the parent or it could be a further grandchild. Looks something like this:
<div class="divName">
...
<a href="some url">some text</a>
...
</div>
I know that there will only be one link within this div, so I want to find the one link and click it.
I've tried the following but it doesn't seem to be working:
element(by.classname('divName')).find('a').click();
Any ideas?
Upvotes: 11
Views: 38128
Reputation: 5264
it seems sytax error in your code
use this
element(by.className('divName')).find('a').click();
Upvotes: -2
Reputation: 673
figured out a solution:
ptor.findElement(protractor.By.className('clsName'))
.findElements(protractor.By.tagName('a'))
.then(function(links){
links[0].click();
//place expects here, otherwise it will run async and your expects will be hit
//before the lookup
});
This seems to work pretty well for my purposes
Upvotes: 1
Reputation: 8900
element(by.css('.divName a')).click();
Or the shorter notation:
$('.divName a').click();
Upvotes: 30