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}")
파일이 생성되는 것을 확인할 수 있습니다.
'PYTHON Programming > Python' 카테고리의 다른 글
[python] 스케줄 (0) | 2024.05.22 |
---|---|
[python] 엑셀 자동화(openpyxl) (0) | 2024.05.22 |
[python] 웹크롤링(selenium) (0) | 2024.05.21 |
[python] 웹 크롤링(beautifulsoup) (1) | 2024.05.21 |
[python] 설치된 패키지 목록 생성과 requirements.txt 속 패키지 설치 (0) | 2024.05.21 |