inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

현존 최강 크롤링 기술: Scrapy와 Selenium 정복

브라우저를 제어해서 크롤링하기 - Selenium 기본 사용법 익히기1

크롬에서 검색어 입력 오류

722

한수연

작성한 질문수 3

0

안녕하세요. 좋은 강의 항상 감사드립니다. 

브라우저를 제어해서 크롤링하기 - Selenium 기본 사용법 익히기1 강의의 5분 47초 구간을 듣고 있는데, 제가 크롤링 하고 싶은 사이트는 다음 뉴스 페이지여서 다음과 같은 코드를 작성했습니다. 

# 다음 뉴스 페이지 접속 

driver.get('https://news.v.daum.net/')

# 검색어 창 찾기 

elem = driver.find_element_by_name("kakaoSearch")

elem.clear()

# 검색어 입력

elem.send_keys("낙태")

# 엔터 입력

elem.send_keys(Keys.RETURN)

그런데 다음과 같은 오류가 뜹니다. 

InvalidElementStateException: Message: invalid element state
  (Session info: chrome=86.0.4240.80)


오류가 뜨는 이유와 해결 방법을 알려주시면 감사하겠습니다.

항상 좋은 강의 감사드립니다.

selenium scrapy 웹-크롤링

답변 2

0

nairu U

저는 주피터보다는 비주얼 스튜디오 코드 프로그램이 다루기 편해서요.

비주얼로 작업하시는분들 참고하시면 도움 되실까 올려봅니다.

이렇게 해도 작동이 잘 되더라구요.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome()

driver.get('http://www.python.org')

# 작동 시 파이썬이라는 단어가 없을 시 동작을 도중에 멈춘다
assert "Python" in driver.title 

elem = driver.find_element_by_name("q")
elem.clear()

#키 이벤트 전송
elem.send_keys("python")

#엔터 입력
elem.send_keys(Keys.RETURN)

# 검색결과가 없을시 동작을 멈춘다.
assert "No results found." not in driver.page_source
time.sleep(2)

h3s = driver.find_elements_by_tag_name("h3")
for h3 in h3s:
    print(h3.text)


#브라우저를 닫는다.
driver.quit()

#참고. find_element_by_tag_name : 태그 이름(최초) 크롤링
#참고. find_elements_by_tag_name : 태그 이름들(모든) 크롤링.

0

ses123you

제가 해보니  elem = driver.find_element_by_name("kakaoSearch") 이 부분에 

키워드를 잘못 입력하셔서 그런것 같아요.

"kakaoSearch" 이 부분을 "q" 로 바꾸시면 되실거에요.

소스코드  -------------------------------------

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

# 다음 뉴스 페이지 접속 

driver = webdriver.Chrome()

driver.get('https://news.v.daum.net/')

# 검색어 창 찾기 

elem = driver.find_element_by_name("q")

elem.clear()

# 검색어 입력

elem.send_keys("낙태")

# 엔터 입력

elem.send_keys(Keys.RETURN)

코딩을 잘 따라 한 것 같은데 오류가 발생하는 것 같습니다

0

626

1

scrapy를 jupyter 환경에서 할 수 있나요

0

360

1

[실전 크롤링: scrapy 크롤링 팁] 질문있습니다.

0

313

1

[실전 크롤링: 지마켓 크롤링하며, scrapy 실전 활용법 익히기1] 5분50초쯤 질문

0

221

1

[강력/최신 크롤링 기술: Scrapy 로 지마켓 크롤링하기1] 관련 질문

0

279

1

xml을 parsing할때 <을 &lt; 로 인식합니다.

0

334

1

pipelines.py에서 process_item내에서 print문이 작동을 하지 않네요 ㅠ

0

292

3

PhantomJS 문의

0

294

1

selenium 문의

0

329

1

브라우저 제어해서 크롤링하기 - 처음강의 마지막부분 문의

0

3004

1

on error 해결 방법 질문

0

356

1

[팁] 윈도우 cmd 커맨드

0

347

1

[팁]Chrome User Agent 아는법

0

327

1

실전 크롤링: 브라우저를 제어해서 트위터 사이트 로그인 하기 질문

0

254

1

동영상 강의 만드실 때 사용한 툴을 알려주실 수 있을까요?

0

237

1

CSS Selector 에서 질문이 있습니다.

0

435

2

pip install scrapy 오류

0

483

1

셀레니움 실행불가

0

1577

1

실전 크롤링: XPATH와 Selenium 활용해서 페이스북 로그인 하기 에서 질문이 있습니다.

0

226

1

언제 get_text()를 사용하고 또 언제 .text를 사용하나요?

0

287

1

강의교안자료 받을수있을까요?

0

263

1

[강의 9:27관련 질문] price, title 열 위치

0

160

1

div에 있는 클래스가 2개이면 어떻게 하나요?

0

368

1

css 셀렉터에 대해 질문이 있습니다.

0

147

1