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

时间:2016-12-01 05:52:28

标签: javascript java selenium extjs

我试图使用带有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()时,先前填充的组合&#39;价值变空。此外,每次通话后,物品清单似乎都会变大。当调用一次时,x-combolist中的选定选项会保持不变。我该怎么做才能让这些价值观留在那里?

编辑:发现当点击项目并转移到另一个时,组合者不会丢失x-form-focus类,这可能就是原因。

0 个答案:

没有答案