>>> elem = browser.find_element_by_id("query")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/ksj/Library/Python/3.8/lib/python/site-packages/selenium/webdriver/remote/webdriver.py", line 360, in find_element_by_id
return self.find_element(by=By.ID, value=id_)
File "/Users/ksj/Library/Python/3.8/lib/python/site-packages/selenium/webdriver/remote/webdriver.py", line 976, in find_element
return self.execute(Command.FIND_ELEMENT, {
File "/Users/ksj/Library/Python/3.8/lib/python/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/Users/ksj/Library/Python/3.8/lib/python/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="query"]"}
(Session info: chrome=86.0.4240.183)
라고 뜨는데 왜 그럴까요
NoSuchElementException 은 매우 자주 뜨는 에러임. 원인도 다양함. 예를 들어 페이지를 열었는데 wait이나 time.sleep을 안해주면 아직 html로딩이 안 되었기 때문에 못 찾음. 아니면 네가 'query'가 class name이거나 tag name이거나 link text인데 id로 찾으려고 해도 못 찾음. 그리고 이런 거 물어볼 때는 네가 크롤링 하려는 html도 같이 올리자...