无法一次选择所有元素

时间:2016-04-20 06:13:10

标签: java eclipse selenium selenium-webdriver

请查看随附的屏幕截图

我需要一次选择第一个框中的所有数据。目前它允许我选择名字然后单击箭头然后我需要点击中间名并单击箭头移动到框2.I需要单独对Box1中的所有数据进行移动到Box2.Also我尝试拖放它不工作甚至手动也不允许从Box1拖放到Box2

我们可以一次选择方框1中的所有元素,然后点击箭头移动到方框2吗?请帮我解决这个问题..

(注意:下面是Box 1的Html代码)

` enter image description here

3 个答案:

答案 0 :(得分:0)

您可以通过Jquery轻松实现此解决方案。 以下代码对您非常有用。

$().ready(function() 
{
 $('#right_arrow_id').click(function() 
 {
  return 
  !$('#firstboxid_here option:selected').clone(true).appendTo('#second_box_id_here'); 
 }); 

用于从第二个框中删除选项。

 $('#left_arrow_id_here').click(function()  
 { 
  $('#second_box_id_here option:selected').remove(); 
 }); 
}); 

答案 1 :(得分:0)

根据提供的评论xpath

   /html/body/div[4]/div/div[2]/div[2]/div/form/table/‌​tbody/tr[1]/td[1]/select/option
除了webelements列表之外,

将检索所有选项的列表。所以在这里使用findElements并收集该列表

List<WebElement> elements = driver.findElements(By.xpath("/html/body/div[4]/div/div[2]/div[2]/div/form/table/‌​tbody/tr[1]/td[1]/select/option")); 

//use loop here
System.out.println(elements .size()); 
for(int i=0;i<=elements .size();i++) { 
//use click on option
 driver.findElement(By.xpath("/html/body/div[4]/div/div[2]/div[2]/div/form/table/‌​tbody/tr[1]/td[1]/select/option")).click();  //it will click first option by default
//write command to click on arrow
 //so it will loop upto list size nothing number of options and always select first and clicks on >>
}
谢谢你, 穆拉利

答案 2 :(得分:0)

通过查看第一个xpath“/ html / body / div [4] / div / div [2] / div [2] / div / form / table / tbody / tr [1] / td [1 ] / select / option [i]“,我明白它是像下拉列表一样实现的。因此,您可以在selenium中使用“Select”类。请找到相同的以下代码。

// Initializing the Select class
Select names = new Select(driver);

// Retrieving all the options in the dropdown
List<WebElement> allNamesList = names.getOptions();

// Looping through the list
for(WebElement eachName : allNamesList) {
 // Clicking on each element in the first box
 eachName.click();
 // Your Code to click on Arrow button
}

希望这有帮助。