如何单击带有动态ID的SPAN

时间:2017-09-18 21:02:50

标签: java xpath selenium-webdriver tags

我正在尝试点击SPAN标记内的某个链接,我尝试使用XPath,但每次加载页面时ID都不同

例如,如果我的xpath为.//*[@id='mi_205']/span[2]以下代码

<ul id="197" class="menu sub-menu" role="menu" data-parent="mi_196" style="z-index: 20000; top: 139px; left: 47px;">
<li id="mi_199" class="menu-item" role="menuitem" title="View contents" command="view-content" style="-moz-user-focus: ignore;">
<li id="mi_201" class="menu-item" role="menuitem" title="View history" command="view-history" style="-moz-user-focus: ignore;">
<li id="mi_203" class="menu-item menu-item-separator" role="separator" style="-moz-user-focus: ignore;">
<li id="mi_205" class="menu-item hover focus" role="menuitem" title="Add file(s)..." command="add-new-file" style="-moz-user-focus: ignore;">
<span class="icon bowtie-icon bowtie-math-plus-light"/>
<span class="text">Add file(s)...</span>
<span class="html"/>
</li>

下次XPath更改为其他内容,因此我提到的XPath不再有效。我想点击“添加文件”链接。

2 个答案:

答案 0 :(得分:1)

您可以使用CssSelector。您的选择器将是这样的:

"li[command='add-new-file']"

这是一个链接,可以帮助你一些漂亮的ccs选择器技巧: "The Skinny on CSS Attribute Selectors"

答案 1 :(得分:0)

如果你下面没有任何其他li项目,添加文件总是最后一个li,你可以使用;

p-0