| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 알고리즘스터디
- Algorithm
- Matplotlib
- NumPy
- openCV
- type hint
- queue
- 프로그래머스
- 알고리즘 스터디
- pandas
- 정보처리기사 c언어
- 데이터시각화
- programmers
- python
- 파이썬
- Stack
- javascript
- MySQL
- dataframe
- 선그래프
- String Method
- 가상환경
- 자료구조
- Selenium
- 알고리즘
- Join
- 노마드코딩
- 백준
- 코딩테스트
- aws jupyter notebook
- Today
- Total
목록Selenium (3)
조금씩 꾸준히 완성을 향해
Wait till Load Webpage(로딩 대기) 브라우저에서 해당 웹 페이지의 요소들을 로드하는데 걸리는 시간을 대기하는 것을 말한다. 웹 페이지가 로드되기도 전에 element가 존재하지 않는다는 error가 뜨는 걸 방지하기 위함이다. ▶ Implicit Waits(암묵적 대기) driver.implicitly_wait(secs) 브라우저에서 사용되는 엔진 자체에서 파싱을 기다려 주는 selenium 자체의 특수한 메소드이다. 여기서 중요한 부분은 지정값이 최대시간이라는 사실이다. 즉 파싱이 완료되면 코드가 즉시 샐행이 되고, 늦더라도 최대 n초까지는 기다려 준다는 뜻이다. ▶ Explicit Waits(명시적 대기) time.sleep(secs) 프로세스 자체를 지정한 시간동안 기다려 주는 역..
한국관광공사 홈페이지에서 여행정보를 가져오는 와중에 예기치 못한 에러를 마주했다. selenium 사용 중에 click() 함수가 작동을 하지 않는 것이었다. 원래 이렇게 사이트에 봄여행을 검색해서 특정 페이지까지 텍스트 정보를 긁어오는 게 목적이었다. 여기 보이는 이 버튼을 클릭해서 이동하는 코드를 짜고 있는데, driver.find_element_by_xpath(f'//*[@class="page_box"]/*[@id={i}]').click() 이 코드에서 자꾸 에러가 떴다. ElementClickInterceptedException 이라고 한다. 분명 id 값을 제대로 가져온 게 맞고, 다른 버튼들은 또 잘 작동하니 어리둥절.... 구글링 해서 결국 해결책을 알아냈다. element가 HTML 상에는..
selenium을 사용해서 네이버 로그인을 해보자. from selenium import webdriver import time # webdriver 경로 지정 driver = webdriver.Chrome("./chromedriver.exe") time.sleep(3) #시간 지연 3초 주기 #1. 네이버 이동 driver.get("http://naver.com") #2. 로그인 페이지로 이동 elem = driver.find_element_by_class_name("link_login") elem.click() time.sleep(3) 일단 네이버로 이동해서 로그인 페이지까지 갔다. 아이디, 비밀번호를 입력하려는데 문제가 하나 생겨버린다. driver.find_element_by_id('id').se..