Java 如何使用SeleniumWebDriver从列表框中移动项目
我有一个网页包含两个列表框左右转移箭头。 我需要从左边选择一个项目,然后单击箭头,这样它就会移动到rigtside列表框 我的代码如下所示,但它不起作用Java 如何使用SeleniumWebDriver从列表框中移动项目,java,html,selenium,selenium-webdriver,Java,Html,Selenium,Selenium Webdriver,我有一个网页包含两个列表框左右转移箭头。 我需要从左边选择一个项目,然后单击箭头,这样它就会移动到rigtside列表框 我的代码如下所示,但它不起作用 List<WebElement> li = driver.findElements(By.xpath(".//*[@id='availableClients']/div/ul")); for (WebElement lit : li) { System.out.println(lit.getText());
List<WebElement> li = driver.findElements(By.xpath(".//*[@id='availableClients']/div/ul"));
for (WebElement lit : li)
{
System.out.println(lit.getText());
if (lit.getText().equalsIgnoreCase("CHKD"))
{
lit.click();
break;
}
}
HTML源
最后我自己找到了解决办法:
// To Select the Item from List Box
WebElement xps = driver.findElement(By.xpath(xpath));
List<WebElement> sli = xps.findElements(By.tagName("li"));
for (int i = 0; i < sli.size(); i++)
{
if (sli.get(i).getText().equalsIgnoreCase(Itemtext))
{
sli.get(i).click();
break;
}
else{System.out.println("Item not fount in the list");}
}
//Click on Arrow Icon outside the List box to move the Item
driver.findElement(By.cssSelector("i.icn.cir-fwd")).click();
最后我自己找到了解决办法:
// To Select the Item from List Box
WebElement xps = driver.findElement(By.xpath(xpath));
List<WebElement> sli = xps.findElements(By.tagName("li"));
for (int i = 0; i < sli.size(); i++)
{
if (sli.get(i).getText().equalsIgnoreCase(Itemtext))
{
sli.get(i).click();
break;
}
else{System.out.println("Item not fount in the list");}
}
//Click on Arrow Icon outside the List box to move the Item
driver.findElement(By.cssSelector("i.icn.cir-fwd")).click();
HTML源代码如下所示。可用客户abc CHKD Peg Sale您能在控制台中看到CHKD打印吗?在控制台中,所有项目都被打印OK,因此您正在获取项目。但您正在单击项目本身。你能把你用来移动其他列表上项目的代码贴出来吗?如果你手动操作,它能工作吗?此外,您必须单击箭头或文本才能将其移动到另一列?如果你必须像你说的那样点击箭头,你就是在点击文本,这就是为什么它不起作用。我有两个列表框,一个在左边,另一个在右边。中间我有箭。首先,我需要在LHS列表框中选择一个项目,然后单击箭头,使其向右移动。如果我手动操作,它会工作,但代码没有选择项目。在for循环之后,我有单行代码来单击箭头。driver.findElementBy.cssSelectori.icn.cir-fwd.click;HTML源代码如下所示。可用客户abc CHKD Peg Sale您能在控制台中看到CHKD打印吗?在控制台中,所有项目都被打印OK,因此您正在获取项目。但您正在单击项目本身。你能把你用来移动其他列表上项目的代码贴出来吗?如果你手动操作,它能工作吗?此外,您必须单击箭头或文本才能将其移动到另一列?如果你必须像你说的那样点击箭头,你就是在点击文本,这就是为什么它不起作用。我有两个列表框,一个在左边,另一个在右边。中间我有箭。首先,我需要在LHS列表框中选择一个项目,然后单击箭头,使其向右移动。如果我手动操作,它会工作,但代码没有选择项目。在for循环之后,我有单行代码来单击箭头。driver.findElementBy.cssSelectori.icn.cir-fwd.click;