【问题标题】:How to select dropdown which doesnot have select tag using selenium webdriver?如何使用 selenium webdriver 选择没有选择标签的下拉菜单?
【发布时间】:2018-02-04 09:30:34
【问题描述】:

这是以下代码,我不能使用选择类来使用可见文本/索引,因为它没有任何选择标记。 在这里我感到困惑的是,下拉框有一种编码,而下拉值有不同的编码。

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");

请帮助我如何在不选择类的情况下从下拉列表中选择列表。

【问题讨论】:

  • 您遇到的错误是什么?

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


【解决方案1】:

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

       List<WebElement> myElements = driver.findElements(mySelector);
       for(WebElement e : myElements) {
         if(e.getText().equalsIgnoreCase("Your_Desire_Value")) {
             e.click();
         }

注意:- 首先使用简单的点击操作点击下拉菜单,然后使用上面的代码。如果列表下方的深处存在值,您是否还需要应用焦点

希望对你有帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-29
    • 2014-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2019-01-25
    相关资源
    最近更新 更多