我试图使用带有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类,这可能就是原因。