首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Selenium 3.0.0 -使用IE11浏览器时在下拉列表中选择错误项

Selenium 3.0.0 -使用IE11浏览器时在下拉列表中选择错误项
EN

Stack Overflow用户
提问于 2016-11-21 11:36:08
回答 1查看 89关注 0票数 0

当我运行IE驱动程序时,它总是在下拉列表中选择错误的项。它似乎只发生在最后的项目在下拉框中。

例如,我想在下拉框中选择项目9,但是当我运行下面的代码时,它会选择item 8,这只发生在IE驱动程序中。

在运行此操作时,它选择了错误的项。

代码语言:javascript
运行
复制
Dropdownbox.get(9).click();

当我运行它时,它会选择正确的项。

代码语言:javascript
运行
复制
Dropdownbox.get(2).click();

我的环境: Selenium 3.0.0和IEWebdriver3.0.0.0,我也使用POM (页面对象模型)

代码语言:javascript
运行
复制
@FindBy(how = How.CLASS_NAME,using = "select2-result-label")
private List<WebElement> Dropdownbox;
EN

回答 1

Stack Overflow用户

发布于 2016-11-21 14:26:02

经过进一步调查。我必须识别三个元素:下拉列表框中的allOptions、下拉列表中的inputTextbox。

我创建了这个方法来解决这个问题

代码语言:javascript
运行
复制
public static void selectItemInDropdownBox(WebElement dropdownbox,WebElement inputSearch,List<WebElement> allOptionsList,String selectedItem){

         //Wait for dropdownbox to display on page
        browser.ExplicitWait(dropdownbox);
        //Now Click on dropdownbox to show the inputTextbox and allOptions
        dropdownbox.click();

        // Must now wait for allOptions to display
        browser.ExplicitWait(inputSearch);
        // Type now the searched Item
        inputSearch.sendKeys(selectedItem);

        //Now if the search item has more than 1 returned item then we need to select the correct one
        int counter = 0;
        for ( WebElement i: allOptionsList) { 
            if ( i.getText().trim().equals( selectedItem ) ) {
                allOptionsList.get(counter).click();
                break;
           }
            counter++; 
        }
    }

下面是我明确的等待:第一个用于WebElement,第二个用于列表

代码语言:javascript
运行
复制
public static void ExplicitWait( WebElement WebElement){
        (new WebDriverWait(driver,10)).until(ExpectedConditions.elementToBeClickable(WebElement));}

public static void ExplicitWaitList(List<WebElement> listWebElement){

    (new WebDriverWait(driver,10)).until(ExpectedConditions.visibilityOfAllElements(listWebElement));
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40719219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档