파이썬 프로그래밍

파이썬 셀레니움 selenium 모바일 버전 브라우저 접속

코니코니 2022. 11. 27. 16:00
반응형

파이썬 셀레니움 selenium 모바일 버전 브라우저 접속


셀레니움 테스트를 할 때 모바일 화면으로 작업을 하는 경우가 많이 있습니다. 아무래도 pc에 비해서 로딩도 빠른 편이고 간결하죠. 그리고 headless 작업이 아닌 경우 웹 화면이 거슬리는 경우도 있는데 모바일 브라우저는 화면에 차지하는 범위도 덜한 편이고 여러모로 자주 사용을 합니다.

 

아래 코드와 같이 모바일 버전으로 접속하기 위해서는 몇가지 셀레니움 옵션만 추가하면 됩니다.

from selenium import webdriver
import chromedriver_autoinstaller

path = chromedriver_autoinstaller.install(True)
options = webdriver.ChromeOptions()
user_agt = 'Mozilla/5.0 (Linux; Android 9; INE-LX1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36'
options.add_argument(f'user-agent={user_agt}')
options.add_argument("window-size=412,950")
options.add_experimental_option("mobileEmulation",
                                {"deviceMetrics": {"width": 360,
                                                   "height": 760,
                                                   "pixelRatio": 3.0}})
driver = webdriver.Chrome(path, options=options)
driver.implicitly_wait(5)

driver.get('https://www.naver.com/')

여기서 user-agent를 제대로 입력 안하면(pc 에이전트 넣으면 안 됨) 모바일 예물레이터 적용을 시켜도 pc화면으로 뜰 수 있습니다. user-agent를 넣을 때는 리눅스(안드로이드) 기반으로 작성을 해야하고 뒤에 Mobile Safari/537.36 까지 넣어주면 됩니다.

pc웹의 구성에 비해서 훨씬 간결하고 사이즈도 작기 때문에 만약 모바일 웹으로도 작업이 가능한 경우라면 꼭 pc웹으로 작업을 시도할 필요는 없습니다. 위에서 언급했던 내용처럼 페이지 로딩 자체가 pc웹에 비해서 훨씬 빠르기 때문에 데이터 크롤링 등의 작업에서도 유용할 수 있습니다.

반응형