셀레늄-로케이터

Selenium WebDriver에서 요소 찾기는 WebDriver 및 WebElement 클래스에서 제공하는 findElement () 및 findElements () 메소드를 사용하여 수행됩니다.

  • findElement ()는 지정된 검색 기준에 따라 WebElement 객체를 반환하거나 검색 기준과 일치하는 요소를 찾지 못하면 예외를 발생시킵니다.

  • findElements ()는 검색 기준과 일치하는 WebElements 목록을 반환합니다. 요소가 없으면 빈 목록을 반환합니다.

다음 표는 Selenium WebDriver에서 요소를 찾기위한 모든 Java 구문을 나열합니다.

방법 통사론 기술
ID로 driver.findElement (By.id (<요소 ID>)) ID 속성을 사용하여 요소를 찾습니다.
이름으로 driver.findElement (By.name (<요소 이름>)) Name 속성을 사용하여 요소를 찾습니다.
클래스 이름으로 driver.findElement (By.className (<요소 클래스>)) Class 속성을 사용하여 요소를 찾습니다.
태그 이름으로 driver.findElement (By.tagName (<htmltagname>)) HTML 태그를 사용하여 요소를 찾습니다.
링크 텍스트로 driver.findElement (By.linkText (<링크 텍스트>)) 링크 텍스트를 사용하여 링크를 찾습니다.
부분 링크 텍스트로 driver.findElement (By.partialLinkText (<링크 텍스트>)) 링크의 부분 텍스트를 사용하여 링크를 찾습니다.
CSS 제작 driver.findElement (By.cssSelector (<css 선택기>)) CSS 선택기를 사용하여 요소를 찾습니다.
XPath 제작 driver.findElement (By.xpath (<xpath>)) XPath 쿼리를 사용하여 요소를 찾습니다.

로케이터 사용

이제 각 로케이터 방법의 실제 사용법을 이해하겠습니다. https://www.calculator.net

ID로

여기서 개체는 ID의 도움으로 액세스됩니다. 이 경우 텍스트 상자의 ID입니다. 값은 ID (cdensity)의 도움으로 sendkeys 메소드를 사용하여 텍스트 상자에 입력됩니다.

driver.findElement(By.id("cdensity")).sendKeys("10");

이름으로

여기서 객체는 이름의 도움으로 액세스됩니다. 이 경우 텍스트 상자의 이름입니다. 값은 ID (cdensity)의 도움으로 sendkeys 메소드를 사용하여 텍스트 상자에 입력됩니다.

driver.findElement(By.name("cdensity")).sendKeys("10");

클래스 이름으로

여기서 객체는 클래스 이름의 도움으로 액세스됩니다. 이 경우 WebElement의 클래스 이름입니다. 값은 gettext 메소드의 도움으로 액세스 할 수 있습니다.

List<WebElement> byclass = driver.findElements(By.className("smalltext smtb"));

태그 이름으로

요소의 DOM 태그 이름을 사용하여 WebDriver에서 특정 요소를 찾을 수 있습니다. 이 방법의 도움으로 테이블을 처리하는 것은 매우 쉽습니다. 다음 코드를 살펴보십시오.

WebElement table = driver.findElement(By.id("calctable"));
List<WebElement> row = table.findElements(By.tagName("tr"));
int rowcount = row.size();

링크 텍스트

이 방법은 보이는 텍스트와 일치하는 링크 요소를 찾는 데 도움이됩니다.

driver.findElements(By.linkText("Volume")).click();

부분 링크 텍스트로

이 메서드는 부분적으로 일치하는 보이는 텍스트가있는 링크 요소를 찾는 데 도움이됩니다.

driver.findElement(By.partialLinkText("Volume")).click();

CSS 제작

CSS는 웹 객체를 식별하는 방법으로 사용되지만 모든 브라우저가 CSS 식별을 지원하는 것은 아닙니다.

WebElement loginButton = driver.findElement(By.cssSelector("input.login"));

XPath 제작

XPath는 XML 경로 언어를 나타냅니다. XML 문서에서 노드를 선택하기위한 쿼리 언어입니다. XPath는 XML 문서의 트리 표현을 기반으로하며 다양한 기준을 사용하여 노드를 선택하여 트리를 탐색 할 수있는 기능을 제공합니다.

driver.findElement(By.xpath(".//*[@id = 'content']/table[1]/tbody/tr/td/table/tbody/tr[2]/td[1]/input")).sendkeys("100");