Chrome 개발자 도구 또는 Firefox의 Firebug에서 XPath 표현식을 확인하는 방법은 무엇입니까?


179

XPath를 어떻게 확인할 수 있습니까?

Chrome 개발자 도구를 사용하여 요소를 검사하고 XPath를 형성합니다. Chrome 플러그인 XPath Checker를 사용하여 확인하지만 항상 결과를 얻지는 않습니다. XPath를 확인하는 더 좋은 방법은 무엇입니까?

또한 Firebug를 사용하여 버그를 검사하고 FirePath를 사용하여 확인하려고 시도했습니다. 그러나 Firepath는 XPath도 확인합니다.

마지막 옵션은 Selenium WebDriver를 사용하여 XPath를 확인하는 것입니다.

답변:


367

크롬

이 세 가지 서로 다른 접근 방식 (내 블로그 문서를 참조에 의해 달성 될 수있다 여기에서 자세한 내용을) :

  • Elements아래와 같은 패널 에서 검색
  • 실행 $x()$$()Console패널로 로렌스의에 표시된 대답
  • 타사 확장 (대부분의 경우 실제로 필요하지는 않지만 과잉 일 수 있음)

Elements패널 에서 XPath를 검색하는 방법은 다음과 같습니다 .

  1. F12Chrome 개발자 도구를 열려면 누릅니다.
  2. '요소'패널에서 Ctrl+를 누릅니다.F
  3. 검색 상자에 XPath 또는 CSS 선택기를 입력하고 요소가 있으면 노란색으로 강조 표시됩니다.

여기에 이미지 설명을 입력하십시오

Firefox (버전 75부터)

FF 75부터는 평가 xpath 표현식없이 원시 xpath 쿼리를 사용할 수 있습니다 . 자세한 정보는 문서 를 참조하십시오.

Firefox (이전 버전 75)

  1. Firefox 메뉴 (또는 메뉴 막대를 표시하거나 Mac OS X에있는 경우 도구 메뉴)의 웹 개발자 하위 메뉴에서 "웹 콘솔"을 선택
    하거나 Ctrl+ Shift+ K( OS X의 경우 Command+ Option+ K) 키보드 단축키를 누르십시오.
  2. 하단의 명령 줄에서 다음을 사용하십시오.

    • $(): 일치하는 첫 번째 요소를 반환합니다. 등가로 document.querySelector()또는 호출 $이 존재하는 경우, 페이지에있는 기능.

    • $$(): 일치하는 DOM 노드의 배열을 반환합니다. 이것은와 비슷 document.querySelectorAll()하지만 대신 배열을 반환합니다 NodeList.

    • $x(): XPath 표현식을 평가하고 일치하는 노드의 배열을 리턴합니다.


Firefox (이전 버전 49)

  1. Firebug 설치
  2. Firepath 설치
  3. F12Firebug를 열려면 누르 십시오
  4. FirePath패널로 전환
  5. 드롭 다운에서 XPathor CSS를 선택하십시오.
  6. 입력하여 찾을 수 있습니다

여기에 이미지 설명을 입력하십시오


2
XPath와 브라우저에 단 하나의 경고가 있습니다. 이로 인해 많은 혼란이 초래됩니다 : stackoverflow.com/questions/18241029/…
Jens Erat

@ JenSrat : 정말 좋은 지적입니다. 이 질문을 이미 읽은 다른 사람들의 경우 Selenium은 브라우저를 구동하고 개발자 도구와 동일한 기본 JavaScript 평가 기술을 사용하기 때문에 영향을받지 않습니다.
Yi Zeng

1
@ user1177636 :이 GIF를 생성하기 위해 어떤 소프트웨어를 사용하셨습니까?
JacekM

: 당신이 XQuery에 대한 로컬 파서를해야하는 경우도 내가 발견 BaseX했습니다 basex.org/products
tuxErrante

4
대답은 Firefox에 대한 업데이트가 필요합니다. 불행히도 Firebug는 더 이상 사용되지 않으며 개발자 도구에 병합되었습니다. 현재 콘솔에서 xpath 표현식을 테스트 할 수 있습니다.$("//div")
derloopkat

53

CTRL+IWindows (또는 CMD+IMac)에서는 Chrome에서 DevTools를 열고 Firefox에서는 F12(을 사용하여 Console탭 을 선택한 후 )를 입력하고을 입력하여 XPath를 확인할 수 $x("your_xpath_here")있습니다.
일치하는 값의 배열이 반환됩니다. 비어 있으면 페이지에 일치하는 것이 없다는 것을 알 수 있습니다.

Firefox v66 (2019 년 4 월) :

Firefox v66 콘솔 xpath

Chrome v69 (2019 년 4 월) :

Chrome v69 콘솔 xpath


1
이 방법은 이상적이지는 않지만 Selenium의 JavascriptExecutor로 해당 콘솔에서 작성한 xpath 표현식을 실행할 수 있기 때문에 알아 두는 것이 좋습니다. 때로는 Firefox 기본 이벤트가 비활성화되어있을 때이를 해결 방법으로 사용할 수 있습니까?
djangofan

1
@djangofan, 무슨 뜻이야? 이 논리에 따르면 이러한 대답은 모두 정확하지만 논리에 의해 필요하지 않습니다.
Arran

1
콘솔에서이 작업을 시도 할 때 @bosnjak $x("//input[@name='q']")I 있어요VM251:1 Uncaught TypeError: $x is not a function at <anonymous>:1:1
YasserKhalil

@YasserKhalil 어떤 브라우저를 사용하고 있습니까? 이 사이트에서 어떤 사이트를하고 있습니까?
bosnjak

16

크롬 또는 오페라를 사용하여

단일 XPath 구문 문자를 작성하지 않고 플러그인없이

  1. 필요한 요소를 마우스 오른쪽 버튼으로 클릭 한 다음 "검사"
  2. 강조 표시된 요소 태그를 마우스 오른쪽 단추로 클릭하고 복사> Xpath 복사를 선택하십시오.

;)

여기에 이미지 설명을 입력하십시오


2
Chrome의 경우 이것이 내가 본 최고의 솔루션입니다. 공유해 주셔서 감사합니다. Firefox를 사용하지 않으려는 경우 Chrome에서 쉽게 확인할 수 있습니다.
자동화

나는 이것을 큰 이익으로 사용했다. 그러나 한 가지 큰 문제는 상황에 맞는 메뉴가 비활성화되거나 덮어 쓰여진다는 것입니다. 그런 다음 다른 접근 방식에 의존해야합니다.
ouflak

1
이것은 실제로 질문에 대답하지 않습니다. 기존 xpath를 확인하는 것이 아니라 생성하는 xpath입니다. Chrome에서 생성하는 솔루션은 훨씬 더 나은 솔루션이 존재할 때 종종 추악하고 매우 취약합니다.
메이저 메이저

6

다음은 FirePath와 비교하여 많은 고급 기능이있는 Chrome 용 ChroPath 확장 프로그램입니다. 아래 단계를 따르십시오.

  1. devtools 패널을여십시오.
  2. 웹 페이지의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하십시오.
  3. 검사를 클릭하십시오.
  4. 요소 탭의 오른쪽에서 ChroPath 탭을 클릭하십시오.

여기에서 XPath / CSS를 얻을 수 있으며 편집하고 평가할 수도 있습니다.

애드온 다운로드


1
ChroPath 확장 프로그램은 2020 년에도 계속 작동합니다. 감사합니다. 큰 도움.
거품

1

xpath를 확인하는 또 다른 옵션은 셀레늄 IDE 를 사용하는 것 입니다.

  1. Firefox Selenium IDE 설치
  2. FireFox에서 응용 프로그램을 열고 IDE를 엽니 다
  3. IDE의 새 줄에서 xpath를 대상에 붙여 넣고 찾기를 클릭하십시오. 해당 요소는 응용 프로그램에서 강조 표시됩니다

셀레늄 IDE


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.