Playwright vs Selenium Grid 비교 리포트
·
python/selenium
Playwright vs Selenium Grid 성능 비교 리포트Playwright vs Selenium Grid: 성능 및 구조 비교표항목Playwright (Python)Selenium Grid (Python)기본 구조단일 머신에서 멀티 인스턴스 직접 실행Hub + 분산된 노드 구조병렬 처리 방식프로세스 기반 (예: multiprocessing, pytest-xdist)여러 노드에서 분산 병렬 실행브라우저 구동 속도매우 빠름 (엔진 최적화)상대적으로 느림 (WebDriver 통신 지연)엘리먼트 탐색 속도빠름 (DOM과 밀접한 API)비교적 느림(JS 실행, polling 기반)초기 브라우저 실행 시간0.5~2초 이내2~5초 (원격 노드 연결 포함)headless 최적화Chromium, Firefox..
selenium 로봇 피하는 방법
·
python/selenium
안녕하세요. 오늘은 selenium에서 자주 발생할 수 있는 "로봇" 을 피하는 방법에 대해서 알아보겠습니다.  여러 방법이 있지만 options.add_argument로 주는 방법을 설명드리겠습니다. def find_id(e_id, browser): return browser.find_element(By.ID, e_id)options = webdriver.ChromeOptions()options.add_argument('__no__sandbox')options.add_argument('--dixable-dev-shm-usage')options.add_argument('--window-size=1080,800')options.add_argument('--incognito')chrome_service..
Selenium alert 처리 방법
·
python/selenium
안녕하세요. 오늘은 selenium alert 처리 방법에 대해서 알아보도록 하겠습니다. 크롤링을 하다보면 alert이 뜨는 바람에 원하는 로직이 정상적으로 돌아가지 않는 상황을 마주하곤 합니다. 이럴때 어떻게 처리할 수 있을까요? 총 2가지 방법에 대해서 말씀드리겠습니다. try: result = browser.switch_to.alert result.accept() # alert 창 확인 클릭 alert.dismiss() # alert 창 취소 클릭 except: # alert 없을 시 처리 로직 작성 pass 첫 번째 방법은 selenium 안에 있는 switch_to.alert를 활용하는 방법 입니다. 내가 어떠한 페이지를 클릭 했을 때 alert이 뜬 경우 위와 같은 방법으로 처리할 수 있습니다..
크롤링 자주 나는 오류
·
python/selenium
Crawling이란? 페이지 데이터를 추출하는 Scraping과 개념과 달리 페이지에 있는 링크를 따라 새 페이지로 연결되는 것과 새 페이지의 링크를 계속해서 찾아 다른 새 페이지로 연결되는 것을 의미 합니다. 웹 크롤러는 페이지의 모든 링크를 따라가며 새 페이지로 이동하고 크롤링 할 새 링크나 페이지가 더 이상 없을 때까지 해당 프로세스를 계속하는 소프트웨어 프로그램입니다. 웹크롤러는 로봇, 스파이더, 검색 엔진 봇 등 다양한 이름으로 알려져 있습니다. 봇이라고 불리는 이유는 할당된 작업이 있고, 링크에서 링크로 이동하며, 각 페이지의 정보를 캡쳐하기 때문입니다. 우리가 웹 페이지의 데이터를 수집할 때 python으로 하는 경우 BS4와 Selenium을 가장 많이 활용합니다. 오늘은 Selenium을..