여러 클래스 이름이 있는 Div 요소를 식별하는 방법
웹 요소와 상호작용할 때 클래스 이름을 사용하여 요소를 타겟팅하는 것이 중요할 수 있습니다. 그러나 Selenium의 @FindBy 주석은 className 매개변수에 단일 클래스 이름만 허용합니다. 요소에 여러 클래스 이름이 있는 경우가 많기 때문에 이는 제한적일 수 있습니다.
대체 접근 방식
이 제한을 극복하려면 다음 대안을 고려하세요.
1. xpath 매개변수 사용
XPath를 사용하면 복잡한 표현식을 사용하여 요소를 식별할 수 있습니다. 정확한 클래스 일치를 위해 다음 구문을 사용할 수 있습니다.
@FindBy(xpath = "//div[@class='value test']") @CacheLookup private WebElement test;
2. XPath에서 Contains(@class) 사용
요소에 지정된 클래스 이름의 조합이 있을 수 있는 경우 다음과 같이 Contains(@class) 표현식을 사용할 수 있습니다.
@FindBy(xpath = "//div[contains(@class, 'value') and contains(@class, 'test')]") @CacheLookup private WebElement test;
3. CSS 선택기 활용
CSS 선택기는 여러 클래스 이름을 기반으로 요소를 대상으로 지정하는 유연한 방법을 제공합니다. 다음 구문을 사용하면 지정된 클래스 이름의 모든 조합으로 요소를 일치시킬 수 있습니다.
@FindBy(css = "div[class*='value test']") @CacheLookup private WebElement test;
XPath 클래스 일치 이해
XPath의 클래스 일치에 유의하는 것이 중요합니다. 규칙은 CSS 선택기와 약간 다릅니다. 정확한 일치가 필요한 경우 [@class='value test']를 사용하세요. 클래스 이름의 순서나 조합에 관계없이 요소를 일치시키려면 [contains(@class, 'value') 및 contain(@class, 'test')]를 사용하세요.
위 내용은 Selenium에서 여러 클래스 이름을 가진 Div 요소를 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!