Транспортер находит элемент по тегу внутри div

У меня есть div в HTML-странице, имя которой всегда известно, и внутри этого div есть href, подробности которого неизвестны. Это может быть прямой ребенок родителя, или это может быть еще один внук. Выглядит примерно так:

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

Я знаю, что в этом div будет только одна ссылка, поэтому я хочу найти одну ссылку и щелкнуть ее.

Я пробовал следующее, но он, похоже, не работает:

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

Любые идеи?

Ответ 1

element(by.css('.divName a')).click();

Или более короткие обозначения:

$('.divName a').click();

Ответ 2

вычислил решение:

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
});

Это, похоже, очень хорошо работает для моих целей

Ответ 3

Один ответ строки

попробуйте element('.divName a').click();

Ответ 4

кажется, что ошибка sytax в вашем коде

используйте этот

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