-
HTML의 코드 구조와 요소 (Element), Selenium 기본 문법PYTHON/Python 업무 자동화 2024. 1. 6. 21:54
* https://www.yes24.com/Product/Goods/118396923 이 책을 보고 공부하였습니다.
# div 태그 가져오기 a = driver.find_element(By.TAG_NAME, 'div'> a.get_attribute('innerHTML')
div를 모두 가져오는게 아닌, div 코드 중 맨 처음 나온 div 코드를 가져옴. -> 최상위 div 코드를 가져옴
a = driver.find_elements(By.TAG_NAME, 'div') print(len(a)) # list 형태로 저장 a[2].get_attribute('innerHTML')
elements를 사용해 div인 요소를 모두 찾아 변수 a에 저장.
리스트 형태로 저장 후, 리스트의 3번째 div요소를 들고옴.
요소가 클릭이 잘 안될 때
1. 해당 요소에 enter키 입력
# send_Keys() 메서드를 활용한 enter키 입력 from selenium.webdriver.common.keys imports Keys driver.get('주소') a = driver.find_element(By.CLASS_NAME, '요소값') a.send_keys(Keys.ENTER)
2. 자바스크립트 문법 활용
driver.get('주소') element = driver.find_element(By.CLASS_NAME, "요소 값") driver.execute_script("arguments[0].click();", element)
요소의 클래스명을 가져올 때
oss and r 이라면 oss.and.r로 반드시 공백을 .(온점)으로 바꿔서 넣어줘야 함
a = driver.find_element(By.CLASS_NAME, "oss.and.r") #요소의 텍스트 출력 print('oss.and.r') #요소의 하위 HTML 코드 모두 출력 a.get_attribute('innerHTML')
time.sleep() , implicitly_wait()
# 코드가 진행되고 그 사이에 쉬어주는 방식 time.sleep() # Selenium을 활용한 웹사이트의 동작과 동작 사이 최대로 기다려줄 수 있는 시간 설정 driver.implicitly_wait(time_to_wait = 기다릴 수 있는 시간) driver.implicitly_wait(time_to_wait = 5)
'PYTHON > Python 업무 자동화' 카테고리의 다른 글
#1 텍스트데이터를 엑셀, 워드클라우드로 만들기 (2) 2024.01.02