python3 selenium XPath를 사용하여 여러 조건으로 요소를 찾는 다양한 방법
XPath를 사용하여 여러 조건으로 요소를 찾는 다양한 방법
react-datepicker__time-list-item 클래스를 가지고 텍스트가 "6:00 AM"인 요소를 찾기:
<li class="react-datepicker__time-list-item react-datepicker__time-list-item--selected" tabindex="0">6:00 PM</li>
xpath_1 = '//li[contains(@class, "react-datepicker__time-list-item") and contains(text(), "6:00 AM")]'
bookPartTime 클래스를 가지고 자식 요소인 button의 텍스트가 "주간"인 요소를 찾기:
<ul class="bookPartTime"><li class=""><button>주간</button></li><li class="bookPChoice"><button>야간1</button></li><li class=""><button>야간2</button></li></ul>
xpath_2 = '//ul[@class="bookPartTime"]/li/button[text()="주간"]'
여러 클래스 포함된 요소 찾기:
<div class="class1 class2">...</div>
xpath_3 = '//*[contains(@class, "class1") and contains(@class, "class2")]'
속성과 텍스트로 찾기:
<tag attribute="value">desired_text</tag>
xpath_4 = '//*[@attribute="value" and text()="desired_text"]'
부모 요소의 특정 자식 찾기:
<parent_tag> <child_tag>child_text</child_tag> </parent_tag>
형제 요소 찾기:
<sibling_tag>sibling_text</sibling_tag>
자식 요소 중 n번째 요소 찾기:
<parent_tag> <child_tag position="1">...</child_tag> <child_tag position="2">...</child_tag> <child_tag position="3">...</child_tag> </parent_tag>
조건에 따라 여러 요소 찾기:
<div condition1="true">...</div> <div condition2="true">...</div>
XPath 축을 사용하여 조건에 따라 요소 찾기:
<tag attribute="prefix_value_suffix">...</tag>
속성으로 찾기:
<tag attribute="value">...</tag>
정확한 텍스트로 찾기:
<tag>exact_text</tag>
부모 요소로부터 특정 자식 요소 찾기:
<parent_tag> <descendant_tag>...</descendant_tag> </parent_tag>
특정 속성 값을 가진 요소 찾기:
<tag attribute="desired_value">...</tag>
특정 속성 값의 접두사 또는 접미사로 찾기:
<tag attribute="prefix_value">...</tag> <tag attribute="value_suffix">...</tag>
특정 속성 값이 포함된 요소 찾기:
<tag attribute="partial_value">...</tag>
특정 속성을 가진 요소 중 n번째 찾기:
<tag attribute="desired_value">...</tag> <tag attribute="desired_value">...</tag>
XPath 함수를 사용하여 찾기:
<div> <child>...</child> <child>...</child> <child>...</child> </div>
하위 요소의 개수로 필터링:
<tag> <child>...</child> <child>...</child> <child>...</child> </tag>
xpath_19 = '//*[count(*)=3]'
특정 부모 요소 아래 모든 자식 요소 찾기:
<parent_tag> <child>...</child> <child>...</child> <child>...</child> </parent_tag>
자식 요소 중 마지막 요소 찾기:
<parent_tag> <child>...</child> <child>...</child> <child>...</child> </parent_tag>
앞뒤로 공백이 없는 텍스트를 가진 요소 찾기:
<tag>desired_text</tag>
현재 요소의 부모 찾기:
<parent_tag> <tag>...</tag> </parent_tag>
자식 요소의 특정 위치에 있는 요소 찾기:
<parent_tag> <child_tag>...</child_tag> <child_tag>...</child_tag> <child_tag>...</child_tag> </parent_tag>
특정 속성을 가진 요소 중 가장 첫 번째 요소 찾기:
<tag attribute="desired_value">...</tag> <tag attribute="desired_value">...</tag>
특정 속성을 가진 요소 중 가장 마지막 요소 찾기:
<tag attribute="desired_value">...</tag> <tag attribute="desired_value">...</tag>
특정 속성 값의 범위에 속하는 요소 찾기:
<tag attribute="15">...</tag> <tag attribute="18">...</tag> <tag attribute="25">...</tag>
특정 속성 값을 가진 요소 중 텍스트 기준으로 오름차순 정렬된 첫 번째 요소 찾기:
<tag attribute="desired_value">1</tag> <tag attribute="desired_value">2</tag> <tag attribute="desired_value">3</tag>