[python] selenium 웹 드라이버 옵션 추가

728x90

우선 기본적인 코드를 작성해놓겠습니다.

 

from selenium import webdriver  # selenium 자동설치를 했다면 없어도 됨
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

option = Options()

service = Service(ChromeDriverManager().install())

driver = webdriver.Chrome(service=service,options=option)

url = "https://www.naver.com/"

driver.get(url)

print(driver.page_source[:1000])

driver.quit() # 사용끝난 후 종료

 

1. 화면이 안꺼지는 옵션

driver 변수위에 아래 코드를 추가하면 됩니다.

option.add_experimental_option("detach",True) # 화면이 안꺼지는 옵션

 

 

2.화면 크기 조정하는 옵션

driver 변수위에 아래 코드를 추가하면 됩니다. 원하는 옵션으로 사용하면 됩니다.

#option.add_argument("--start-maximized") # 화면 크기 조정하는 옵션 -> 현재는 최대크기
option.add_argument("window-size=500,500") #화면 크기 지정도 가능

 

3.화면 안보이게 하는 옵션(셀레니움 실행시 화면이 보이지않습니다.)

driver 변수위에 아래 코드를 추가하면 됩니다.

 

option.add_argument("--headless") # 화면이 안보이게 하는 옵션
# option.add_argument("--headless=new") # 화면이 안보이게 하는 옵션 -> 위 옵션이 안될 경우 사용
option.add_argument("--disable-gpu") # 예전엔 headless 옵션 사용할 때 같이 사용함 요즘엔 안써도 된다는 말이 있음

 

4.사람이 접속한 것처럼 보이게 하는 옵션

driver 변수위에 아래 코드를 추가하면 됩니다.

user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
option.add_argument(f"user-agent={user_agent}")

 

5.음소거 옵션 (유튜브 같은 영상,음악 재생 사이트 접속했을 때)

option.add_argument("--mute-audio") # 음소거 옵션

 

6. 시크릿 모드

option.add_argument("incognito") # 시크릿 모드

 

7. 크롬 상단 자동화 메시지 제거, 불필요한 메시지 제거 옵션

option.add_experimental_option("excludeSwitches",["enable-automation"]) #크롬 상단 자동화 제거

 

option.add_experimental_option("excludeSwitches", ["enable-logging"]) # 콘솔의 불필요한 메시지 제거

둘중 하나만 사용하려면 위처럼 각각 입력하시면 됩니다. 두개의 코드를 한번에 작성하면 아래 기능만 작동합니다.

 

만약 두개의 기능 모두 실행하고 싶으시다면 아래 코드를 입력하시면 됩니다.

 

option.add_experimental_option("excludeSwitches", ["enable-automation", "enable-logging"])

 

8. 유저데이터 옵션 추가

user_data = r"C:\data\filename" #유저의 데이터를 저장할 경로, filename은 파일명, 역슬래시 대신에 앞에 r을 붙이면 된다.
option.add_argument(f"user-data-dir={user_data}")

 

 

파일이 생성되는 것을 확인할 수 있습니다.