Python Seleniumpython selenium webdriver 만드는 코드


python selenium webdriver 만드는 코드 공유합니다


외주 개발할 때 자주 사용하는 selenium webdriver 불러오는 간단한 코드입니다. PC 버전으로 크롤링하는 일이 많아서 User Agent는 PC 버전만 넣어뒀습니다. PC User Agent List에서 random choice로 뽑아오도록 했습니다


코드가 유용했다면 개추.


네이버 블로그, 카페, 지식인 python 자동화 프로그램 로직 제공 링크

https://xn--ok0bv0wc5ifyf.com/shop_view/?idx=49


네이버 자동 로그인 파이썬 코드가 필요하다면? 아래 링크 클릭

https://xn--ok0bv0wc5ifyf.com/59/?q=YToxOntzOjEyOiJrZXl3b3JkX3R5cGUiO3M6MzoiYWxsIjt9&bmode=view&idx=157928470&t=board



저는 make_driver.py 이름으로 파이썬 스크립트 만들고 아래 코드를 불러오는 형태로 씁니다.


from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import random, time, os

COOKIE_FOLDER_NAME = "cookies"
PC_USER_AGENT_LIST = [    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36",
    "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.134 Safari/537.36",
    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36"
]
MO_USER_AGENT_LIST = []

def get_driver(folder_name="Default"):
    try:
        pc_device = ["1920,1440","1920,1200","1920,1080","1600,1200","1600,900",
                        "1536,864", "1440,1080","1440,900","1360,768"
                ]

        mo_device = [
                    "360,640", "360,740", "375,667", "375,812", "412,732", "412,846",
                    "412,869", "412,892", "412,915"
                ]

        width,height = random.choice(pc_device).split(",")
 

        
        UA = random.choice(PC_USER_AGENT_LIST)  #seed = time.time()
     
        options = Options()

        #폴더가 없다면, 생성
        folder = os.path.join(os.getcwd(),COOKIE_FOLDER_NAME)
        if not os.path.exists(folder):
            os.makedirs(folder)
        cookie_folder_name = os.path.join(folder, folder_name)
        if not os.path.exists(cookie_folder_name):
            os.makedirs(cookie_folder_name)

        #작업별 쿠키 기록을 남김
        # options.user_data_dir = cookie_folder_name

        # User Agent 속이기
        options.add_argument(f'--user-agent={UA}')
        options.add_argument(f"--window-size={width},{height}")
        options.add_argument('--log-level=3')
        
        options.add_argument("--disable-blink-features=AutomationControlled")
        options.add_argument('--disable-dev-shm-usage')

        options.add_argument("--disable-infobars")
        options.add_argument("--lang=ko-KR")  # 언어 설정 일치화
        
        options.add_argument('--disable-logging')
        options.add_argument('--silent')

        options.add_experimental_option("excludeSwitches", ["enable-automation",'enable-logging'])
        options.add_experimental_option("useAutomationExtension", False)
        
        driver = webdriver.Chrome(options=options)

        driver.set_window_size(int(width),int(height))
        
        return driver
    except Exception as e:
        print(e)
        driver = None
        return None
0

상호: 위듀오 | 대표 : 김영빈 | 전화번호 : 010-2659-1352

이메일:help@weduo.gg

사업자등록번호 : 508-11-51881 | 통신판매신고번호 : // 

주소 : 경남 양산시 동면 금산 2길 12


호스팅제공자:(주)아임웹

Copyright. 히든 마케팅. All rights reserved.

..

모든 문의는 admin@월천무기.com 으로 연락주세요