아래의 테스트를 통해 요소의 개수를 반복 할 때 프레임에 드래그 된 모든 요소 떨어질 것입니다.셀 늄용 java에서 동일한 클래스 이름을 가진 모든 관련 객체를 클릭하기 위해 클래스 이름 반복하기
아래 코드를 작성하기 위해 getClass가 모든 요소를 가져 오는 데 필요한 것 같습니다. getClass가 제거되면 두 요소 만 발견되고 더 많은 요소는 하나의 요소 만 삭제된다는 것입니다.
왜 "getClass"가 있어야하고 모든 요소가 클릭되도록 a.ui-icon.ui-icon-refresh의 전체 클래스를 가져 오는 다른 방법이 있는지 설명 할 수 있습니까? 모든
package Testing;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import java.util.Iterator;
import java.util.List;
public class Radiobuttons {
public static void main(String[] args)
{
// TODO Auto-generated method stub
System.setProperty("webdriver.chrome.driver","C://chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get("https://jqueryui.com/droppable/");
System.out.println(driver.getTitle());
WebElement SimplePhotoManager = driver.findElement(By.xpath("//*[@id=\"content\"]/div[1]/ul/li[5]/a"));
SimplePhotoManager.click();
driver.switchTo().frame(driver.findElement(By.xpath("//*[@id=\"content\"]/iframe")));
WebElement source1 = driver.findElement(By.xpath("//*[@id=\"gallery\"]/li[1]"));
WebElement source2 = driver.findElement(By.xpath("//*[@id=\"gallery\"]/li[2]"));
WebElement source3 = driver.findElement(By.xpath("//*[@id=\"gallery\"]/li[3]"));
WebElement source4 = driver.findElement(By.xpath("//*[@id=\"gallery\"]/li[4]"));
WebElement targetBefore = driver.findElement(By.xpath("//*[@id=\"trash\"]"));
Actions a = new Actions(driver);
a.dragAndDrop(source1, targetBefore).build().perform();
a.dragAndDrop(source2, targetBefore).build().perform();
a.dragAndDrop(source3, targetBefore).build().perform();
a.dragAndDrop(source4, targetBefore).build().perform();
//Why is this required?
List<WebElement> getClass= driver.findElements(By.className("a.ui-icon"));
//Grab common attribute//Put into list and iterate
int count=driver.findElements(By.className("ui-icon-refresh")).size();
System.out.println(count);
for(int i=0;i<count;i++)
{
driver.findElements(By.className("ui-icon-refresh")).get(i).click();
}
//Close the thing
//driver.quit();
}
}