在selenium,java中处理多个ext-js组合器

我正在尝试使用带有Selenium的Java在ext-js生成的页面上填充一些字段 . 码:

public void ClickListBoxItem(String name) throws InterruptedException {
    Thread.sleep(500);
    if(name==null || name=="") return;
    List<WebElement> items = WD.findElements(By.cssSelector(".x-layer.x-combo-list .x-combo-list-inner .x-combo-list-item"));
    Thread.sleep(200);
    for(WebElement item:items)
        if(name.contains(item.getText())) {
            je.executeScript("arguments[0].click()",item);
            return;
    }
}
public void Next(String id)
    {
        WebElement we = WD.findElement(By.cssSelector("#"+id)).findElement(By.xpath("following-sibling::*[1]"));
        je.executeScript("arguments[0].click()",we);
    }

每个下拉菜单的步骤如下:

public void FillSth() throws InterruptedException {
        Next("sth");
        ClickListBoxItem(someString);
    }

不幸的是,它只适用于第一次尝试 . 当我多次调用函数FillSth()时,先前填充的组合值变为空 . 此外,每次通话后,物品清单似乎都会变大 . 当调用一次时,x-combolist中的选定选项会保持不变 . 我该怎么做才能让这些 Value 观留在那里?

编辑:发现当单击项目并移动到另一个时,组合者不会丢失x-form-focus类,也许这就是原因 .

回答(0)