programing

XPath와 링크 텍스트로 링크 URL을 찾으려면 어떻게 해야 합니까?

lastcode 2023. 9. 19. 21:12
반응형

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

번역은 프로그래밍의 대문자를 소문자 프로그래밍으로 변환합니다.

html agility pack을 사용하는 경우 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

반응형