셀레늄의 FindElement – ​​XPath의 FindElement

요소 찾기 명령이 필요한 이유는 무엇입니까?

웹 페이지와의 상호 작용을 위해서는 사용자가 웹 요소를 찾아야 합니다. 요소 찾기 명령은 웹 페이지 내에서 하나의 웹 요소를 고유하게 식별하는 데 사용됩니다. 반면 요소 찾기 명령은 웹 페이지 내의 웹 요소 목록을 고유하게 식별하는 데 사용됩니다. ID, 이름, 클래스 이름, 링크 텍스트, 부분 링크 텍스트, 태그 이름 및 XPATH와 같은 웹 페이지 내의 웹 요소를 고유하게 식별하는 방법에는 여러 가지가 있습니다.

FindElement 명령 구문

WebElement elementName = driver.findElement(By.LocatorStrategy("LocatorValue"));

Selenium Find Element 명령은 By 개체를 매개 변수로 사용하고 Selenium에서 목록 WebElement 유형의 개체를 반환합니다. 개체별은 ID Selenium, 이름, 클래스 이름, XPATH 등으로 요소 찾기와 같은 다양한 로케이터 전략과 함께 사용할 수 있습니다. 다음은 Selenium 웹 드라이버의 FindElement 명령 구문입니다.

로케이터 전략은 다음 중 하나일 수 있습니다.wing values.

  • ID
  • Selenium 이름으로 요소 찾기
  • 클래스 이름
  • 태그 이름
  • 링크 텍스트
  • 부분 링크 텍스트
  • XPATH

로케이터 값은 웹 요소를 식별하는 데 사용되는 고유 값입니다. ID나 이름과 같은 특정 속성을 사용하여 웹 요소를 고유하게 식별할 수 있는지 확인하는 것은 개발자와 테스터의 책임입니다.

예:

WebElement loginLink = driver.findElement(By.linkText("Login"));

예: Selenium에서 요소 찾기

더 폴로wing 응용 프로그램은 데모 목적으로 사용됩니다

http://demo.guru99.com/test/ajax.html

시나리오 :

1 단계 : AUT 열기

2 단계 : 라디오 버튼을 찾아 클릭하세요.

package com.sample.stepdefinitions;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class NameDemo {

public static void main(String[] args) {
// TODO Auto-generated method stub

System.setProperty("webdriver.chrome.driver", "D:\\3rdparty\\chrome\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();

driver.get("http://demo.guru99.com/test/ajax.html");

// Find the radio button for “No” using its ID and click on it
driver.findElement(By.id("no")).click();
	
//Click on Check Button
driver.findElement(By.id("buttoncheck")).click();

}

}

FindElements 명령 구문

List<WebElement> elementName = driver.findElements(By.LocatorStrategy("LocatorValue"));

Selenium 명령의 FindElements는 By 개체를 매개 변수로 사용하고 웹 요소 목록을 반환합니다. 주어진 위치 지정자 전략과 위치 지정자 값을 사용하여 요소를 찾지 못한 경우 빈 목록을 반환합니다. 다음은 요소 찾기 명령의 구문입니다.

예:

List<WebElement> listOfElements = driver.findElements(By.xpath("//div"));

예: Selenium에서 요소 찾기

시나리오 :

1 단계 : 테스트 중인 애플리케이션의 URL을 엽니다.

1 단계 : 라디오 버튼의 텍스트를 찾아 출력 콘솔에 인쇄합니다.

package com.sample.stepdefinitions;

import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class NameDemo {

public static void main(String[] args) {

    System.setProperty("webdriver.chrome.driver", "X://chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.get("http://demo.guru99.com/test/ajax.html");
    List<WebElement> elements = driver.findElements(By.name("name"));
    System.out.println("Number of elements:" +elements.size());

    for (int i=0; i<elements.size();i++){
      System.out.println("Radio button text:" + elements.get(i).getAttribute("value"));
    }
  }
}

요소 찾기 대 요소 찾기

다음은 요소 찾기와 요소 찾기 명령 간의 주요 차이점입니다.

요소 찾기 대 요소 찾기
요소 찾기 대 셀레늄에서 요소 찾기
요소 찾기 요소 찾기
동일한 로케이터를 사용하여 여러 웹 요소가 발견된 경우 가장 많은 첫 번째 웹 요소를 반환합니다. 웹 요소 목록을 반환합니다.
로케이터 전략과 일치하는 요소가 없는 경우 NoSuchElementException 예외가 발생합니다. 로케이터 전략과 일치하는 웹 요소가 없는 경우 빈 목록을 반환합니다.
XPath로 요소 찾기는 하나의 웹 요소만 찾습니다. 로케이터 전략과 일치하는 요소 컬렉션을 찾습니다.
해당 사항 없음 각 웹 요소는 배열처럼 0부터 시작하는 숫자로 인덱싱됩니다.

요약

  • 요소 찾기 명령은 웹 페이지 내에서 첫 번째로 가장 많은 요소와 일치하는 웹 요소를 반환합니다.
  • 요소 찾기 명령은 기준과 일치하는 웹 요소 목록을 반환합니다.
  • Selenium 명령에서 XPath로 요소 찾기는 기준과 일치하는 요소를 찾지 못한 경우 NoSuchElementException을 발생시킵니다.
  • 요소 찾기 명령은 기준과 일치하는 요소가 없는 경우 Selenium에 빈 목록을 반환합니다.