Использование Selenium для нажатия на элемент, который находится во вложенном <div><li> - PullRequest
0 голосов
/ 24 сентября 2011

Моя страница выглядит как код, приведенный ниже в режиме проверки элементов.

У меня есть ряд тегов li внутри тегов div, чьи идентификаторы создаются динамически при загрузке страницы.

Мне нужно нажать на Сводку, намерение, элементы преобразования.

Может кто-нибудь помочь мне, как это сделать в Selen RC.

Идентификаторы генерируются динамически, поэтому я не могу использовать опцию id здесь.Например: идентификатор yui_3_3_0_1_131676060142810944 генерируется динамически.Используя xpath также, я не мог нажать на эти элементы.

Пожалуйста, дайте мне знать, если есть выход.Это было бы очень полезно для меня.

Фактический проверенный источник здесь, если он может помочь разобраться в этом.
http://paste.ubuntu.com/696262/

Ответы [ 3 ]

0 голосов
/ 10 октября 2011

Вы можете использовать путь CSS, например:

html body#gsr div#searchform.jhp form#tsf div.tsf-p div table tbody tr td table tbody tr td#sftab.lst-td div.lst-d table.lst-t tbody tr td table tbody tr td.gsib_a div input#lst-ib.gsfi
0 голосов
/ 07 ноября 2012

Вот дерево DOM с вложенным div

<div class="aui-helper-clearfix aui-tree-node-content aui-tree-data-content aui-tree-node-    content aui-tree-node-selected aui-tree-expanded" id="aui_3_4_0_1_1005">
<div class="aui-tree-hitarea" id="aui_3_4_0_1_1224">
</div><div class="aui-tree-icon" id="aui_3_4_0_1_1214">
</div><div class="aui-tree-label aui-helper-unselectable" id="aui_3_4_0_1_1218">OSS</div>    </div>

Вот xpath, который выбирает кликабельный узел (для Selenium)

$x("//div[contains(@class,'aui-tree-node-content') and (contains(.,'OSS'))]//div[contains(@class,'aui-tree-hitarea')]")
0 голосов
/ 25 сентября 2011

Очевидный ответ:

selenium.click("link=Summary");
...
selenium.click("link=Intent");
...
selenium.click("link=Conversion");
...

Чуть менее очевидным будет:

selenium.click("xpath=//*[@id='reports-subtab-summary']/a");
...
selenium.click("xpath=//*[@id='reports-subtab-intent']/a");
...
selenium.click("xpath=//*[@id='reports-subtab-conversions']/a");
...

, преимущество которого заключается в том, что он не зависит от текста страницы, который может измениться(из-за языкового перевода и т. д. .).

...