파이썬으로 인스타그램 자동 좋아요 프로그램을 만들고 있다.
인터넷으로 찾아가면서 삽질 후에 만들고 있는데 파이썬으로 인스타그램 창을 열 때, 자꾸 닫히고 에러코드가 떠서 삽질했다.
해결법을 공유하고자 한다.
1. selenium으로 크롬창을 열었는데 1초도 안되서 바로 닫힐 때
닫히는 종류가 크롬창을 열고 data;; 가 주소창에 나타난 후 url주소로 바로 가자마자 닫히는 경우가 있고, 1~2초 정도 기다리다가 닫히는 에러가 있다. 만약 1초도 안되서 바로 닫힌다면 chromedriver의 버전과 자신의 크롬 주소가 같은지 한번 본다. 처음에는 크롬 버전이 달라서 에러가 났다.
자신의 크롬 버전을 아는 법은
chrome://version/
주소창에 위에 주소를 치고 들어가면
맨 위에처럼 크롬 버전이 나온다. 나의 크롬 버전은 87.0.4280.88 이다.
chromedriver.chromium.org/downloads
위에 주소에 들어가서 똑같은 버전의 크롬드라이버를 다운 받으면 된다.
2. usb_device_handle_win.cc:1020 Failed to read descriptor from node connection: 시스템에 부착된 장치가 작동하지 않습니다. (0x1F) 라고 나올 때
사실 이거는 크롬 여는 것과 상관이 없었으나 이것 때문에 안되는 줄 알았다. 하지만 에러메시지가 나오는 것이 보기 싫으니 이 설정도 같이 해주도록 하자.
options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-logging"])
driver = webdriver(options=options)
url = 'https://www.instagram.com/'
driver.get(url)
driver.maximize_window()
위에 2줄 옵션을 설정하고
driver = webdriver()를 하지 말고 options = options 한다.
이거는 그냥 로그를 없애는 거니까 안해도 된다. 필요없는 에러로그 나오는게 보기 싫어서 써준 코드다.
3. 2~3초 있다가 꺼질 때 해결법
스택오버플로우에서 검색을 하다가 이것 저것 써봤는데 while 문을 밑에 써주니까 된다.
while(True):
pass
이거를 밑에 추가해준다.
# options = webdriver.ChromeOptions()
# options.add_experimental_option("excludeSwitches", ["enable-logging"])
driver = webdriver.Chrome()
#(options=options)
url = 'https://www.instagram.com/'
driver.get(url)
driver.maximize_window()
while(True):
pass
'프로그래밍 > Python' 카테고리의 다른 글
국가통계포털 csv를 colab에서 작업하기, 한글 깨질때 해결 (0) | 2021.01.06 |
---|---|
맥에서 Django 프로젝트 생성 (0) | 2020.09.07 |
pyCharm 파이참에서 터틀창이 바로 닫힐 때 쓰는 명령어 (0) | 2019.05.22 |