driver.implicitly_wait(10) 과 time.sleep(10) 의 차이점은 뭘까요?
결론부터 얘기하자면,
driver.implicitly_wait(10) : 10초안에 웹페이지를 load 하면 바로 넘어가거나, 10초를 기다림.
time.sleep(10) : 10초를 기다림.
따라서, webcrawling 을 할 때는 driver.implicitly_wait() 을 사용하는게 좋습니다. (속도면에서)
웹크롤링을 위해 selenium 에 있는 webdriver 을 사용할 때가 많이 있습니다.
webdriver 을 사용할 때, 컴퓨터 성능과 인터넷 환경에 따라 load 하는 시간이 다 다를 수 있습니다.
그러다보니 필연적으로 LOAD 하는 시간을 주는 경우가 많습니다.
이럴 때 사용하는 것이 두가지 있습니다.
1. driver.implicitly_wait(시간)
2. time.sleep(시간)
+ driver.implicitly_wait(10) 을 했을 때, 정말 10초 전에 넘어가는지 눈으로 확인하고 싶다면?
import time
[해당 driver.implicitly_wait() 과 관련된 코드]
print(times) ## print(times) 하게 되면 10초 전에 끝나는 걸 확인 할 수 있다. |
+ Selenium으로 테스트를 하거나 매크로를 만들다보면 간혹 "ElementNotVisibleException" 에러가 보일 수 있습니다. 이럴 때는 시간을 조금 더 늘려주면 해결됩니다.