使用Selenium单击嵌套<div> <li> </li> </div>中的元素

时间:2011-09-24 18:16:57

标签: selenium-rc

我的页面看起来像下面在inspect元素模式中给出的代码。

我在div标签中有一系列li标签,其id是在我加载页面时动态创建的。

我需要点击摘要,意图,转化元素。

任何人都可以帮助我在selenium RC中如何做到这一点。

id是动态生成的,所以我不能在这里使用id选项。例如:动态生成id yui_3_3_0_1_131676060142810944。也使用xpath,我无法点击这些元素。

如果有出路,请告诉我。这对我很有帮助。

如果可能有助于调查这一点,那么实际检查的来源就在这里 http://paste.ubuntu.com/696262/

3 个答案:

答案 0 :(得分:0)

显而易见的答案是:

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");
...

的优点是它不依赖于可能发生变化的页面文本(由于语言翻译,。)。

答案 1 :(得分:0)

您可以使用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

答案 2 :(得分:0)

这是带有嵌套div的DOM树

<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>

以下是选择可点击节点(对于Selenium)

的xpath
$x("//div[contains(@class,'aui-tree-node-content') and (contains(.,'OSS'))]//div[contains(@class,'aui-tree-hitarea')]")