파이썬

파이썬 셀레니움을 사용하면서 한가지...

귀신이보인다 2020. 1. 30. 17:59
728x90
반응형

필자는 기본 웹브라우저가 크롬으로 사용중입니다.

 

그러면서 자연스럽게 셀레니움을 사용하는 라즈베리파이 에서는 크로미움이 기본으로 설치되어있으므로 기본 프로그램으로 사용을 하면서 시작되었습니다.

이제 윈도우에서도 기본 브라우저가 크롬이 되었으니 드라이버던 뭐던간에 크롬이 기본베이스로 셀레니움을 사용중입니다.

그러면서 웹드라이버 리모트 라는것을 알았습니다.

download_folfer = BASE_DIR; 
options = webdriver.ChromeOptions()
options.add_argument("no-sandbox")
options.add_argument("lang=ko_KR")
options.add_argument('user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36')  
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--disable-notifications")
options.add_argument('--verbose')
options.add_experimental_option("prefs", { "download.default_directory": download_folfer, "download.prompt_for_download": False, "download.directory_upgrade": True, "safebrowsing_for_trusted_sources_enabled": False, "safebrowsing.enabled": False })
capabilities = options.to_capabilities()
#웹리모트 방식?
driver = webdriver.Remote(command_executor='http://127.0.0.1:4444/wd/hub', desired_capabilities=capabilities)
#직접실행 방식?
driver = webdriver.Chrome('chromedriver', chrome_options=options)
    

 

보통 셀레니움을 요런식으로 원격 실행하여 모든 일을 합니다.

그런데 정보가 너무적어서 외국 사이트도 돌아다녀보고 여기저기 둘러보고 써봐야지 잘 되는지 않되는지 알겠더라구요.

저또한 옵션을 전부 이해하지 못하였습니다.

대충 아는 옵션은 해드레스모드인데 키즈노트 다운로더에서는 헤드레스 모드 사용시 원본사진을 다운받지 못하더군요.

7번째 줄에 있는 옵션은 아마도 웹사이트 돌아다닐때 보면 있는 허용 거부? 창이 뜨지 않게 해주는것일겁니다.

9번째 줄에 있는 옵션은 키즈노트에 적용해볼까 생각중인 옵션인데 원본사진할때 저장되는 위치입니다.

주석 달아놓은게 있는데 웹리모트 방식과 직접실행방식 이라고 했는데요.

웹리모트 방식은 9번째 줄은 적용이 되지 않습니다. 

로컬 - 로컬 에서는 적용이 됩니다.

로컬 - 원격 에서는 적용이 되지 않습니다.

즉 , 키즈노트 같이 원본 다운로드 에서는 적용이 되지 않는거 같습니다.

 

728x90
반응형