//-------------------------------------
[ HTML ]
<div class="c1 c2"> ... </div>
//-------------------------------------
[ XPath ]
*[contains(@class,"c1")]
*[contains(@class,"c1 c2")]
*[contains(@class,"c2 c1")] <== 에러! 순서바뀌면 안됨
- 클래스가 2개의 이름을 가졌는데 이름 순서에 상관없이 검색 (복잡)
*[contains(concat(' ', normalize-space(@class), ' '), ' c1 ') and contains(concat(' ', normalize-space(@class), ' '), ' c2 ')]
//-----------------------------------------------------------------------------
CSS Selector 를 XPath로 변환
[ CSS Selector ]
p div#id1 span#id2.cl1.cl2 .cl3-2
[ XPath ]
//p//div[@id='id1']//span[@id='id2'][contains(concat(' ', normalize-space(@class), ' '), ' cl1 ')][contains(concat(' ', normalize-space(@class), ' '), ' cl2 ')]//*[contains(concat(' ', normalize-space(@class), ' '), ' cl3-2 ')]
//-----------------------------------------------------------------------------
// 참고
* XPath Syntax
https://www.w3schools.com/xml/xpath_syntax.asp
* How to Choose Selectors for Automation to Make Your Life a Whole Lot Easier
https://exadel.com/news/how-to-choose-selectors-for-automation-to-make-your-life-a-whole-lot-easier/
* CSS2XPath
https://css2xpath.github.io/
- 결과물에 에러 있음
'Code > Web' 카테고리의 다른 글
MacOS 에서 iOS 사파리 웹 디버깅 (0) | 2024.05.13 |
---|---|
윈도우에서 웹 개발 중 시간을 앞으로 변경했다가 복구했는데 예전 페이지만 보이는 현상 해결 방법 (0) | 2023.11.30 |
Apple iOS, Safari history (0) | 2023.07.27 |
http error code 504 gateway time-out 에러 해결 방법 (0) | 2023.03.26 |
Ubuntu 20에 최신 버전 Nginx 웹서버 설치 (0) | 2022.11.23 |