일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 벤큐 EX2510
- 큐넷 폐업 사대보험 미가입
- 큐넷 시험 변경
- 큐넷 시험장소 변경
- 큐넷 폐업
- 경기도광명맛집추천
- 4대보험미가입 경력증명서
- 벤큐 EX2510S 후기
- 경기도광명돼지집
- 광명돼지집
- vue eslint설정
- vue 설정
- 큐넷 사실확인서
- HTML CSS Support
- 큐넷 사대보험
- vuetify 설치
- vue 로그인
- 광명김치찌개
- 큐넷 4대보험
- 큐넷 4대보험미가입
- 벤큐 EX2510S
- 서울근교두루치기
- vue.js 로그인
- BENQ EX2510S REVIEW
- 정보처리기사 시험장도 변경
- 큐넷 필기시험장소 변경
- 시험장소변경
- vue prettier
- eslint prettier차이
- EX2510S음질
- Today
- Total
코딩 발걸음 - 한발두발개발
파이썬 셀레니움 크롬 옵션 - python selenium chrome options(Feat. headless, window size, user-agent etc..) 본문
파이썬 셀레니움 크롬 옵션 - python selenium chrome options(Feat. headless, window size, user-agent etc..)
한발두발개발 2021. 6. 14. 15:36안녕하세요 :D
오늘은 셀레니움으로 크롬 브라우저를 적용하는 옵션들에 대해서 알아보겠습니다.
풀 코드 및 간단한 설명 먼저 올리겠습니다. 바쁘신 여러분들은 풀 코드만 보시는 걸 좋아하니까요ㅎㅎ
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
#지정한 user-agent로 설정합니다.
user_agent = "Mozilla/5.0 (Linux; Android 9; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.83 Mobile Safari/537.36"
options.add_argument('user-agent=' + user_agent)
options.add_argument('headless') #headless모드 브라우저가 뜨지 않고 실행됩니다.
options.add_argument('--window-size= x, y') #실행되는 브라우저 크기를 지정할 수 있습니다.
options.add_argument('--start-maximized') #브라우저가 최대화된 상태로 실행됩니다.
options.add_argument('--start-fullscreen') #브라우저가 풀스크린 모드(F11)로 실행됩니다.
options.add_argument('--blink-settings=imagesEnabled=false') #브라우저에서 이미지 로딩을 하지 않습니다.
options.add_argument('--mute-audio') #브라우저에 음소거 옵션을 적용합니다.
options.add_argument('incognito') #시크릿 모드의 브라우저가 실행됩니다.
먼저 웹 드라이버와 크롬 옵션을 가져오고 선언해 줍니다.
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
그럼 지금부터 옵션을 적용해보겠습니다.
1. User-Agent 설정 : add_argument('user-agent =' + str)
브라우저를 사용자 임의의 유저에이전트로 설정해 줍니다.
#지정한 user-agent로 설정합니다.
user_agent = "Mozilla/5.0 (Linux; Android 9; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.83 Mobile Safari/537.36"
options.add_argument('user-agent=' + user_agent)
위처럼 유저에이전트를 설정하고 드라이버를 실행 후 스크립트를 사용하여 유저에이전트 확인해 봅시다.
설정된 user-agent값이 나옵니다.
driver.execute_script('return navigator.userAgent')
# 결과 = 'Mozilla/5.0 (Linux; Android 9; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.83 Mobile Safari/537.36'
파이썬 환경 내에서는 자바스크립트 코드를 이용해서 유저에이전트를 확인할 수 있습니다.
2. headless 모드 : add_argument('headless')
headless는 셀레니움에서 띄우는 브라우저를 보이지 않게 해줍니다.
options.add_argument('headless')
위처럼 옵션을 추가해 줄 수 있습니다.
크롬 드라이버가 백그라운드에서 실행돼서 브라우저가 안 보이고, 다른 작업을 하더라도 방해가 되지 않는다는 장점이 있지만 간혹 headless를 하고 브라우저 접근 시 access denied나 원하는 요소를 클릭할 때 제대로 못 찾을 수 있습니다.
3. 브라우저 화면크기
- 크기 지정 : add_argument('--window-size= x, y')
- 최대화 : add_argument('--start-maximized')
- 풀스크린 (F11) : add_argument('--start-fullscreen')
--window-size= x, y는 브라우저의 사이즈를 지정해 줍니다.
options.add_argument('--window-size=360,640')
--start-maximized는 최대화된 크기로 지정합니다.
options.add_argument('--start-maximized')
--start-fullscreen는 풀스크린(F11) 크기로 지정합니다.
options.add_argument('--start-fullscreen')
많은 사이트들이 반응형으로 만들어진 만큼 브라우저 크기에 따라 나타나는 요소들이 다르게 나타날 수 있으니
브라우저 크기를 적절히 지정하여 사용하면 되겠습니다.
4. 이미지 사용 안함 : add_argument('--blink-settings=imagesEnabled=false')
--blink-settings=imagesEnabled=false는 이미지 로딩을 하지 않습니다.
options.add_argument('--blink-settings=imagesEnabled=false')
이미지 로딩을 하지 않게 되면 네트워크 사용량이 줄고
페이지 로딩 속도가 빨라지지만 이미지 클릭 시 문제가 발생할 수도 있으니 주의하셔야 합니다.
5. 음소거 : add_argument('--mute-audio')
options.add_argument('--mute-audio')
음소거입니다. 해당 옵션을 적용하고 유튜브같이 사운드가 나오는 사이트를 들어가면 소리는 켜져 있더라도 사운드가 나오지 않는 것을 확인할 수 있습니다.
6. 시크릿 모드 : add_argument('incognito')
마지막으로 시크릿모드입니다.
add_argument('incognito')
오늘은 위처럼 크롬의 user-agent, headless, 브라우저 사이즈, 이미지 사용 안 함, 음소거, 시크릿 모드 옵션에 대해 알아봤습니다.
많은 도움 되셨길 바라며 읽어주셔서 감사합니다! :D
'개발 > python' 카테고리의 다른 글
파이썬 셀레니움 자바스크립트 - python selenium javascript (Feat. User-Agent 확인) (0) | 2021.06.10 |
---|---|
python 문자열 (0) | 2020.11.03 |
파이썬 셀레니움 스크롤 내리기 - python selenium scroll down (1) | 2020.10.26 |