Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用SeleniumWebDriver从列表框中移动项目_Java_Html_Selenium_Selenium Webdriver - Fatal编程技术网

Java 如何使用SeleniumWebDriver从列表框中移动项目

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());

我有一个网页包含两个列表框左右转移箭头。 我需要从左边选择一个项目,然后单击箭头,这样它就会移动到rigtside列表框

我的代码如下所示,但它不起作用

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;