에 따라 요소를 선택합니다 클래스 'a', 'b'및 'c'. 수는 div
의 수이고 페이지의 모든로드마다 달라 지므로 div
이 클래스 'a'이고 클래스가 'b'가 아니고 'c'인 로직을 사용해야합니다.XPath는 내가 효과적으로 같은 아래의 상황에서 요소를 선택 <code>:not</code>을 어떻게 사용합니까 클래스
답변
이 XPath를,
//div[@class="a"]
동등한
정확히
"a"
을 갖는 속성에
class
div
모든 요소를 선택할 것이다.
이 아닌
div
을 선택하십시오 (예 :
<div class="a b c"/>
).
이 a
선택한 클래스 중 하나 사이입니다 div
요소를 포함 실제로 어렵습니다 :
//div[contains(concat(' ', normalize-space(@class), ' '), ' a ')]
이것은 당신이 XPath는 설정 때문에 <div class="a b c"/>
하지만 <div class="abc"/>
@kjughes에 감사드립니다. – User01
다음 예제 코드는 java에 있습니다.
WebElement elm = driver.findElement(By.className("parent"));
WebElement el = elm.findElement(By.xpath("//div[@class='a' and not(@class='a b c')]"));
el.click();
@ Mahmud Riad 고맙습니다. – User01
도움이된다면 다른 사람들이 도움을 얻을 수 있도록 upvote하는 것을 잊어 버리지 마십시오. –
을 선택 돌봐 -/DIV의 ['@ class = "a"]' – splash58