селен IDE clickAndWait xpath - PullRequest
0 голосов
/ 27 мая 2010

В IDE Селена мне нужно нажать на n-ую ссылку с текстом «XXX». Как это можно сделать?


clickAndWait
// а [текст () 'XXX' =] [$ {ссылка}]


Приведенный выше код говорит, что [error] Элемент // a [text () = 'XXX'] [9] не найден, даже если он действителен,

1 Ответ

2 голосов
/ 27 мая 2010

Для неструктурированных ссылок вы можете попробовать что-то вроде //body/descendant::a[text()='a link'][9]. Ось потомка сгладит все теги потомка «a», поэтому position () будет принимать порядок, в котором они появляются в документе, а не на основе предыдущих элементов каждого тега.

Если ссылки полуструктурированы, как показано ниже, то что-то вроде

//div[@id='fu']//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']/../following-sibling::*//a[text()='a link']

может найти вам 9-ю подходящую ссылку с заданной структурой.

<p>a segment, outside the containing div, with <a href="www.google.com">a link</a>.</p>

<div id="fu">

<p>some text <a href="www.google.com">a link</a>.</p>

<p>some text <a href="www.google.com">a link</a>.</p>

<p>some text <a href="www.google.com">a different link</a>.</p>

<p>some text <a href="www.google.com">a link</a>.</p>

<p>some text <a href="www.google.com">a link</a>.</p>

<p>some text <a href="www.google.com">a link</a>.</p>

<p>some text <a href="www.google.com">a link</a>.</p>

<p>some text <a href="www.google.com">a link</a>.</p>

<p>some text <a href="www.google.com">a link</a>.</p>

<p>some text <a href="www.google.com">a link</a>.</p>

<p>some text <a href="www.google.com">a link</a>.</p>

<p>some text <a href="www.google.com">a link</a>.</p>

<p>some text <a href="www.google.com">a link</a>.</p>

<div></div></div>

...