셀레늄-로케이터
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");