1. 다운로드 동작 확인:
셀레니움 스크립트에서 다운로드 동작이 올바르게 설정되어 있는지 확인하세요. 다운로드 경로가 올바르게 설정되었는지와 다운로드 알림이 비활성화되었는지 확인.
chrome_options.add_experimental_option() 메서드를 사용하여 환경 설정 가능.
chrome_options.add_experimental_option() 메서드는 ChromeOptions 클래스의 메서드로, Chrome 브라우저를 설정하는 데 사용된다. 이 메서드를 사용하여 다양한 환경 설정을 할 수 있다.
add_experimental_option() 메서드는 두 개의 매개변수를 받는다. 첫 번째 매개변수는 설정의 이름이며, 두 번째 매개변수는 설정 값을 의미한다.
예를 들어, 다음과 같이 add_experimental_option() 메서드를 사용하여 다운로드 설정을 추가할 수 있다.
chrome\_options.add\_experimental\_option("prefs", {
"download.default\_directory": apifp.BIGKINDS\_DOWNLOAD\_PATH, "download.prompt\_for\_download": False,
})
위의 코드에서 "prefs"는 설정의 이름이다. "prefs" 설정은 Chrome 브라우저의 환경 설정을 수정하는 데 사용된다. 두 번째 매개변수는 설정 값으로, "download.default_directory"는 다운로드할 파일의 기본 디렉토리를 설정하고, "download.prompt_for_download"는 다운로드 알림을 비활성화한다.
이와 같이 add_experimental_option() 메서드를 사용하여 ChromeOptions 객체에 다양한 환경 설정을 추가할 수 있다. 이를 통해 다운로드 경로, 알림 설정 등을 조정하여 원하는 다운로드 동작을 구현할 수 있다.
2. 다운로드 설정 수정:
헤드리스 모드에서 파일 다운로드에 도움이 되는 설정 수정을 시도 다운로드 디렉토리를 변경하거나 알림을 비활성화하는 등의 다운로드 관련 환경 설정 변경
3. 사용자 상호작용 모방:
일부 웹사이트에서는 다운로드가 시작되기 전에 사용자 상호작용이 필요하거나 이벤트를 트리거할 수 있다. 헤드리스 모드에서는 셀레니움의 ActionChains 클래스를 사용하여 사용자 상호작용을 모방할 수 있다. 예를 들어, 다운로드 버튼을 클릭하거나 엔터 키를 눌러 다운로드를 시작할 수 있다.
4.비헤드리스 환경 시뮬레이션:
만약 모든 시도가 실패한다면, 임시로 헤드리스 모드가 아닌 일반 모드에서 셀레니움 스크립트를 실행해야 할 수있다. 즉, chrome_options에서 헤드리스 옵션을 주석 처리하거나 제거하여 브라우저를 UI가 표시되는 상태로 실행해야 한다. 이렇게 하면 파일 다운로드 알림을 수동으로 처리할 수 있다.
웹사이트의 동작 방식과 자동 다운로드를 방지하기 위한 보안 조치 등을 고려해야 한다. 일부 웹사이트에서는 자동화된 다운로드를 방지하기 위해 추가적인 검사를 수행할 수 있다.
'에러해결 > PYTHON' 카테고리의 다른 글
TypeError: bad operand type for unary ~: 'float' (2) | 2023.07.19 |
---|---|
TypeError: ‘in ‘ requires string as left operand, not Series (1) | 2023.07.18 |
pywintypes.com_error: (-2147221164, '클래스가 등록되지 않았습니다.', none, none) (1) | 2023.04.17 |
아나콘다 가상환경 'pip'는 내부 또는 외부 명령으로 인식되지 않습니다 (0) | 2023.04.11 |
주피터 노트북 500 : internal server error (0) | 2023.01.31 |