以下代码
<li class="user ui-menu-item" role="presentation">
<a id="ui-id-52" class="ui-corner-all" tabindex="-1">
<em>User:</em>
Staff User
</a>
</li>
这是情景:
有一个文本字段,我在其中输入名称Staff
,其中人员的相关值显示在动态列表框中,在上面的方案中,id
是动态生成的,当我尝试按class
选择值时,所有元素都相同。
我想要一个xpath
表达式来选择列表中的第一个可用选项。我试过很多方面,比如包含和启动,但没有用。请让我知道你宝贵的建议。
先谢谢 希瓦。
答案 0 :(得分:0)
您是否尝试组建List
,然后直接使用List
的第一个元素?
List<WebElement> list = driver.findElements(By.xpath("//li[@class(contains, 'user')]";
list[0].getText();
我仍然没有百分之百地确定你想要做什么,一旦你找到了它。形成List
可能会更好,然后遍历该列表并执行每element
所需的任何操作。
答案 1 :(得分:0)
答案 2 :(得分:0)
使用xpath。它应该工作
// li [@role ='presentation'] // a [1]
答案 3 :(得分:0)
我认为这应该有用
WebElement ele = webdriver.findElement(By.Xpath("//li[@class='user ui-menu-item'][1]"))