[dom] xpath에서“not”을 사용하는 방법?

나는 일종의 것을 쓰고 싶다 :

//a[not contains(@id, 'xx')]

( ‘id’속성이있는 모든 링크에 ‘xx’문자열이 포함되어 있지 않음)

올바른 구문을 찾을 수 없습니다.



답변

not ()은 xpath의 함수 (연산자와 대조되는)이므로

//a[not(contains(@id, 'xx'))]


답변

당신은 not(expression)기능 을 사용할 수 있습니다

또는

expression != true()


답변

이 답변 중 어느 것도 파이썬에서 효과가 없었습니다. 나는 이것으로 해결했다

a[not(@id='XX')]

또한 xpath에서 |연산자로 사용하거나 조건을 지정할 수 있습니다 . 와 같은

a[not(@id='XX')]|a[not(@class='YY')]

때때로 우리는 클래스가없는 요소를 원합니다. 그래서 당신은 좋아할 수 있습니다

a[not(@class)]


답변

boolean function아래와 같이 사용하십시오 :

//a[(contains(@id, 'xx'))=false]


답변