>웹 프론트엔드 >CSS 튜토리얼 >Selenium에서 여러 클래스 이름을 가진 Div 요소를 찾는 방법은 무엇입니까?

Selenium에서 여러 클래스 이름을 가진 Div 요소를 찾는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-27 06:26:10461검색

How to Find a Div Element with Multiple Class Names in Selenium?

여러 클래스 이름이 있는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.