program story

XPath를 사용하여 링크 텍스트로 링크 URL을 어떻게 찾을 수 있습니까?

inputbox 2020. 9. 13. 10:30
반응형

XPath를 사용하여 링크 텍스트로 링크 URL을 어떻게 찾을 수 있습니까?


잘 구성된 XHTML 페이지가 있습니다. 링크 된 텍스트가있을 때 링크의 도착 URL을 찾고 싶습니다.

<a href="http://stackoverflow.com">programming questions site</a>
<a href="http://cnn.com">news</a>

나는 원하는 된 XPath 가 주어진다면 그 표현 등 programming questions site이 줄 것이다 http://stackoverflow.com나는 그것을 주면 news그것은 줄 것이다 http://cnn.com.


다음과 유사해야합니다.

// a [text () = 'text_i_want_to_find'] / @ href

당신에게는 너무 늦었지만 같은 질문을 가진 다른 사람에게는 ...

//a[contains(text(), 'programming')]/@href

물론 '프로그래밍'은 모든 텍스트 조각이 될 수 있습니다.


//a[text()='programming quesions site']/@href 

기본적으로 <a>원하는 텍스트가 있는 앵커 노드 식별 하고 href속성을 추출 합니다.


대괄호 안의 구를 SQL의 WHERE 절로 생각하십시오.

따라서이 쿼리는 "어디서나 (//) 나타나는"a "태그의"href "속성 (@)을 선택하지만"a "태그의 텍스트 내용이 ' 프로그래밍 질문 사이트 ' ".


대소 문자를 구분하지 않는 포함의 경우 다음을 사용하십시오.

//a[contains(translate(text(),'PROGRAMMING','programming'), 'programming')]/@href

translate는 PROGRAMMING의 대문자를 소문자 프로그래밍으로 변환합니다.


html 민첩성 팩을 사용하는 경우 getattributeValue를 사용하십시오.

$doc2.DocumentNode.SelectNodes("//div[@class='className']/div[@class='InternalClass']/a[@class='InternalClass']").GetAttributeValue("href","")

참고 URL : https://stackoverflow.com/questions/915338/how-can-i-find-the-link-url-by-link-text-with-xpath

반응형