반응형
# xpath 규칙 참조
# / : 절대경로를 나타냄
# // : 문서내에서 검색
# //@href : href 속성이 있는 모든 태그 선택
# //a[@href='http://google.com'] : a 태그의 href 속성에 http://google.com 속성값을 가진 모든 태그 선택
# (//a)[3] : 문서의 세 번째 링크 선택
# (//table)[last()] : 문서의 마지막 테이블 선택
# (//a)[position() < 3] : 문서의 처음 두 링크 선택
# //table/tr/* 모든 테이블에서 모든 자식 tr 태그 선택
# //div[@*] 속성이 하나라도 있는 div 태그 선택
# 아래 방법으로 크롬에서 xpath 가져오기 연습 가능
function getElementByXpath(path) {
return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
}
console.log( getElementByXpath("//html[1]/body[1]/div[1]") );
def click_text(driver, text):
driver.find_element_by_xpath(f"//*[text()='{text}']")
def click_tag_by_text(driver, tag, text):
wait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, f"//{tag}[text()='{text}']"))).click()
def click_tag_by_text_with_wait(driver, tag, text, wait_second):
wait(driver, wait_second).until(EC.element_to_be_clickable((By.XPATH, f"//{tag}[text()='{text}']"))).click()
def type_into_tag_by_text(driver, tag, text, content):
wait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, f"//{tag}[text()='{text}']"))).send_keys(content)
def click_tag_by_contain_text(driver, tag, text):
wait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, f'//{tag}[contains(text(), "{text}")]'))).click()
반응형
'프로그래밍 > python' 카테고리의 다른 글
파이썬 버전 바꿔서 실행 및 pip 버전 변경 (0) | 2022.03.01 |
---|---|
파이썬 SFTP 전송 참조 (권한 오류 연결 오류) (0) | 2022.02.20 |
파이썬 pyinstaller 콘솔창 제거 (0) | 2022.02.03 |
파이썬 셀레니움 팝업창 닫기 python selenium close popups (0) | 2022.01.25 |
파이썬 xls 파일에서 특정값 추출 (0) | 2022.01.25 |