我有以下HTML
<div id="colLeft_OrderGroups" class="GroupList GroupList_Left">
<div class="SelectList" style="height:516px;">
<div class="DialogSubtitle">Available groups</div>
<ul class="ui-selectable" id="grdAvailableGroups" style="width:100%; margin-right:2px">
<li value="10929">AppraisersGroupTest</li>
</ul>
</div>
</div>
如何根据&#34; AppraisersGroupTest&#34;选择选项?文本?
列表中很快会有多个值,因此我需要能够指定文本。
我已经尝试了post中的答案,但我收到了无法解决的语法错误。
答案 0 :(得分:3)
您可以使用一个xPath
衬管实现此目的,如下所示: -
String text = "AppraisersGroupTest";
WebElement el = driver.findElement(By.xpath("//div[@id = 'colLeft_OrderGroups']/descendant::li[text() = '" + text + "']"));
el.click();
希望它会帮助你...... :)
答案 1 :(得分:2)
查看您的HTML,我将假设所需value
的{{1}}始终是&#34; 10929&#34;为您所需的&#34; AppraisersGroupTest。&#34;有了这些信息,您可以使用下面的代码。
LI
如果事实证明这不是一个好的假设,您可以使用下面的代码搜索所需的文本并单击该元素。
String value = "10929";
WebElement dropdown = driver.findElement(By.id("grdAvailableGroups"));
dropdown.click(); // assuming you have to click the "dropdown" to open it
dropdown.findElement(By.cssSelector("li[value=" + value + "]")).click();