web-dev-qa-db-fra.com

Un rapporteur trouve un élément par tag dans un div

J'ai une div dans une page HTML dont le nom est toujours connu et à l'intérieur de cette div, il y a un href, dont les détails ne sont pas connus. Ce pourrait être l'enfant direct du parent ou un autre petit-enfant. Ressemble à ceci:

<div class="divName">
    ...
        <a href="some url">some text</a>
    ...
</div>

Je sais qu’il n’y aura qu’un seul lien dans cette division, donc je veux le trouver et le cliquer. 

J'ai essayé ce qui suit mais cela ne semble pas fonctionner:

    element(by.classname('divName')).find('a').click();

Des idées?

11
Robert McCraw
element(by.css('.divName a')).click();

Ou la notation la plus courte:

$('.divName a').click();
28
Andres D

trouvé une 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
});

Cela semble fonctionner assez bien pour mes besoins

1
Robert McCraw

Réponse en une ligne

essayez avec element('.divName a').click();

0
ctasca