【发布时间】:2018-09-23 16:25:59
【问题描述】:
我在使用 ID 选择下拉列表时遇到问题,因为它是动态的。
ID中有一个固定部分,所以我尝试使用contains,但我似乎无法掌握它。
我的代码部分使用 selenium webdriver java:
Select dropdown = new Select (driver.findElement(By.xpath("//select[contains(@id,'_listSelect')]")));
使用 firebug 的下拉 HTML(选择部分):
<div id="00B70000008WMdr_topNav" class="topNav primaryPalette">
<div class="controls">
<img class="pageTitleIcon" title="Case" alt="Case" src="/img/s.gif">
<select id="00B70000008WMdr_listSelect" class="title" title="View:" onchange="ListViewport.instances['00B70000008WMdr'].showFeedOrListView(this.options[this.selectedIndex].value)" name="fcf">
...
</select>
</div>
</div>
【问题讨论】:
-
在 Chrome f12 搜索栏中尝试 //select[contains(@id,'_listSelect')],然后在代码中实现它并检查它是否突出显示 DOM 中的元素或者我相信名称如果是,则对于您的选择标签是静态的。
-
你知道如果它没有突出显示我怎么能得到它?我认为我的问题出在这个特定的部分
-
我累了,它突出了部分..我不知道可能出了什么问题
-
找到多少匹配项?如果有多个匹配项,您可能需要进一步缩小 xpath 的范围,方法是使用数组或尝试使用其他内容进行搜索,例如
//select[@title='View:'] -
@MonnaKhaled 让我知道它在 chrome 中突出显示时显示的计数,并分享您在运行脚本时遇到的错误。
标签: java selenium-webdriver contains