Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

xpath를 사용하여 n번째 하위 요소를 식별하는 방법은 무엇입니까?

<시간/>

다음과 같은 방법으로 xpath를 사용하여 n번째 하위 요소를 식별할 수 있습니다. -

  • 색인과 함께 대괄호를 추가하여.

  • xpath에서 position() 메서드를 사용하여.

예시

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
public class SubElement {
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver", "C:\\Users\\ghs6kor\\Desktop\\Java\\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      String url = "https://www.tutorialspoint.com/index.htm";
      driver.get(url);
      driver.manage().window().maximize();
      driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
      // xpath using position() targeting the first element with type text
      driver.findElement(By.xpath("//input[@type='text'][position()=1]"))
      .click();
      driver.close();
   }
}

예시

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
public class RowCount {
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver", "C:\\Users\\ghs6kor\\Desktop\\Java\\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      String url = "https://www.tutorialspoint.com/plsql/plsql_basic_syntax.htm";
      driver.get(url);
      driver.manage().window().maximize();
      driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
      // xpath with index appended to get the data from the row 2 of table
      List<WebElement> rows =
      driver.findElements(By.xpath("//table/tbody/tr[2]/td"));
      System.out.println(“The number of data in row 2 is “+ rows.size());
      driver.close();
   }
}