여러 CSS 클래스로 웹 요소 식별
@FindBy를 사용하여 여러 CSS 클래스로 웹 요소를 식별하는 데 문제가 발생했습니다. 주석. 코드 예제에서는 CSS 클래스 이름이 공백으로 구분될 수 있다는 사실을 고려하지 않은 className = "value test"의 사용을 보여줍니다.
XPath 일치 전략
원하는 요소를 찾으려면 XPath를 사용하는 것이 좋습니다. XPath를 사용하면 클래스 이름을 포함한 특정 기준에 따라 요소를 일치시킬 수 있습니다. 고려해야 할 몇 가지 XPath 일치 전략은 다음과 같습니다.
driver.findElement(By.xpath("//div[@class='value test']"));
이 XPath 표현식은 정확한 일치를 보장하며 지정된 클래스에서 "value" 및 "test" 클래스를 모두 포함하는 요소를 찾습니다. order.
driver.findElement(By.xpath("//div[contains(@class, 'value test')]"));
이 표현식은 관계없이 "값" 클래스와 "테스트" 클래스를 모두 포함하는 요소와 일치합니다.
driver.findElement(By.xpath("//div[contains(@class, 'value') and contains(@class, 'test')]"));
이 표현식은 요소에 "값" 및 "테스트" 클래스가 모두 있음을 보장하지만 특정 순서를 적용하지는 않습니다.
대체 CSS 선택기
XPath 외에도 CSS 선택기도 가능합니다. 여러 클래스 이름을 기반으로 요소를 찾는 데 사용됩니다. 다음 CSS 선택기 표현식을 고려하세요.
driver.findElement(By.cssSelector("div[class='value test']"));
driver.findElement(By.cssSelector("div[class*='value test']"));
driver.findElement(By.cssSelector("div.value.test"));
결론
XPath 또는 CSS 선택기를 사용하든, 정확한 요소 식별을 보장하려면 일치 기준을 신중하게 고려하는 것이 좋습니다. 요소에 여러 클래스가 있는 경우 앞서 언급한 기술 중 하나를 사용하면 원하는 웹 요소를 효과적으로 찾을 수 있습니다.
위 내용은 여러 CSS 클래스로 웹 요소를 식별하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!