如何使用selenium webdriver选择没有select标签的下拉列表?

时间:2017-08-26 14:33:46

标签: selenium selenium-webdriver drop-down-menu webdriver

这是以下代码,我无法使用select类来使用可见文本/索引,因为它没有任何select标记。 在这里我感到困惑的是,有一个编码用于下拉框和不同编码的drodown值。

1)可以点击它的下拉框代码是

<div data-aura-rendered-by="16:2348;a">
<a class="select" aria-required="true" aria-disabled="false" aria-haspopup="true" tabindex="0" role="button" aria-label="Lead Status" title="" href="javascript:void(0);" data-aura-rendered-by="17:2348;a" data-interactive-lib-uid="8">New</a>
</div>

2)下拉值代码如下

<ul class="scrollable" role="presentation" data-aura-rendered-by="31:2348;a" data-scoped-scroll="true">
<!--render facet: 1770:0-->
<li class="uiMenuItem uiRadioMenuItem" role="presentation" data-aura-rendered-by="1774:0" data-aura-class="uiMenuItem uiRadioMenuItem">
<li class="uiMenuItem uiRadioMenuItem" role="presentation" data-aura-rendered-by="1780:0" data-aura-class="uiMenuItem uiRadioMenuItem">
<li class="uiMenuItem uiRadioMenuItem" role="presentation" data-aura-rendered-by="1786:0" data-aura-class="uiMenuItem uiRadioMenuItem">
<li class="uiMenuItem uiRadioMenuItem" role="presentation" data-aura-rendered-by="1792:0" data-aura-class="uiMenuItem uiRadioMenuItem">
<a href="javascript:void(0);" data-aura-rendered-by="1793:0" role="menuitemradio" aria-disabled="false" tabindex="0" title="Working" aria-checked="false">
<b/>
Working
</a>
</li>
<li class="uiMenuItem uiRadioMenuItem" role="presentation" data-aura-rendered-by="1798:0" data-aura-class="uiMenuItem uiRadioMenuItem">
<li class="uiMenuItem uiRadioMenuItem" role="presentation" data-aura-rendered-by="1804:0" data-aura-class="uiMenuItem uiRadioMenuItem">
<!--render facet: 32:2348;a-->
</ul>

我尝试了很多方法,包括选择类和单个xpath

例如:

driver.findElement(By.xpath("//a[@class='select']")).sendKeys("Working");
driver.findElement(By.xpath("//a[@class='select']")).click();
driver.findElement(By.xpath("//div/ul/li[4]/a")).click();
Select dropdown = new Select(driver.findElement(By.xpath("//a[@class='select'][@aria-label='Lead Status']")));
dropdown.selectByVisibleText("Working");

请帮助我如何在没有选择课程的情况下从下拉列表中选择列表。

1 个答案:

答案 0 :(得分:0)

首先找到一个xpath,它将返回所有下拉列表值。然后使用List您可以选择任何值。

export class Article { // your properties }

注意: - 首先使用简单的点击操作点击下拉列表,然后使用上面的代码。如果值列在深层列表

中,您是否还需要应用焦点

希望它会对你有所帮助:)。