728x90
반응형

selenium 7

[ Selenium ] 파이썬 나라장터 접속하고 팝업창 닫기, Selenium 팝업창 닫기

들어가며  나라장터에 접속하면 아래 그림과 같이 팝업창이 여러 개가 나타납니다.이런 팝업창을 제거하는 방법입니다. 나라장터뿐만 아니라 유사한 형태로 팝업을 처리하는 웹사이트에는 대부분 가능한 방법으로 보입니다.※ 팝업창이 나타나는 구조는 사이트마다 다를 수 있습니다. 구현할 내용은 나라장터 사이트에 접속 후팝업창의 오늘 하루 이 창을 열지 않음을 클릭해 팝업을 닫는 방법입니다. Selenium을 통해 요소를 클릭할 때 주의할 점은요소가 가려져 있으면 클릭이 안될 수도 있다는 점입니다. 위 그림을 보면 팝업창은 모두 네개 인데"오늘 하루 이 창을 열지 않음"이 보이는 창은 두 개입니다.보이지 않는 팝업의 요소는 클릭이 되지 않을 수도 있습니다. 그렇기 때문에 맨 위의 요소부터 차례로 클릭을 해야 에러없이 ..

[ Selenium ] 크롬 브라우저 실행 시 내 정보를 유지한 채로 브라우저 띄우기

Selenium으로 브라우저를 조작하면아래 그림과 같이 깨끗한 브라우저가 실행됩니다. 유튜브 사이트에 Selenium으로 접속해 보면아래 그림과 같이 아무런 기록도 없는 채로 브라우저가 실행됩니다. 이럴 때 불편한 사항들이 몇 가지 있는데,저 같은 경우는 자동로그인이 설정되어 있어서, 사용할 때 별도 로그인을 하지 않아도 되는데Selenium으로 브라우저를 조작하게 되면로그인에 필요한 코드까지 작성을 해주어야 하고,심지어 로그인이 잘 되지 않는 곳도 있습니다. 오늘은 Selenium 라이브러리를 사용해 크롬 브라우저를 실행할 때 내 정보를 그대로 유지한 채로 브라우저를 띄우는 방법을 알아보겠습니다.환경은 윈도우 11 환경입니다.  크롬 브라우저 사용자 프로필이 저장된 폴더  윈도우에서 크롬 브라우저의 사..

[ 엑셀 VBA ] VBA 크롬 드라이버(Chromedriver) 자동설치, ChromeDriver autoinstall

VBA에서 Selenium을 사용할 때해당 브라우저가 업데이트될 때마다 새로 깔아줘야 하는 불편함이 있습니다. 크롬 브라우저의 드라이버를 자동으로 설치해주는 VBA 코드입니다. 이전에 작성된 내용을 바탕으로크롬 드라이버를 자동으로 다운로드하고 설치하는 코드를 작성했습니다.1. VBA로 내 컴퓨터에 설치된 ChromeDriver 버전 확인하기2. 크롬 브라우저 버전 정보 확인하기3. 내 크롬 브라우저의 버전에 맞는 최신 ChromeDriver 버전 VBA로 확인하기4. VBA로 ChromeDriver(크롬드라이버) 압축파일 다운받기, VBA로 파일 다운로드 하기 SeleniumBasic은 설치되어 있다고 가정하고 작성한 코드이며,윈도우11 64비트 환경입니다.  현재 설치되어 있는 ChromeDriver ..

카테고리 없음 2024.10.29

[ 엑셀 VBA ] VBA로 내 컴퓨터에 설치된 ChromeDriver 버전 확인하기

VBA로 웹 페이지 크롤링을 하기 위해 Selenium을 선택하여 사용할 경우SeleniumBasic이 설치되어야 합니다.※ SeleniumBasic 설치 방법, VBA 크롤링 준비 직접 확인하는 방법도 있지만,공부하는 목적으로 VBA 코드를 작성해 지금 설치되어 있는 chromedriver의 버전을 확인하는 방법을 작성해 보겠습니다.  직접 버전 확인해 보기  SeleniumBasic이 설치된 폴더로 이동합니다.윈도우11을 사용하고 있는 제 컴퓨터에서 SeleniumBasic 설치 폴더는C드라이브 → 사용자 폴더 → [ 사용자 이름 폴더 ] → AppData → Local → SeleniumBasic여기에 설치가 되어 있습니다. AppData폴더는 숨김폴더 표시를 하면 확인할 수 있습니다. 해당 경로에..

EXCEL VBA 2024.10.28

[ 크롤링-Selenium ] 웹 크롤링 네이버 로그인 하기, 캡챠 없이 로그인 하기

[ 들어가며 ] selenium을 사용해네이버 로그인을 하게 되면캡챠가 나타나면서로그인하기가 쉽지 않게 되어 있습니다. 오늘은 간단하게selenium을 사용하여네이버에 로그인하는 방법을  알아보겠습니다. [ 전체 코드 ]from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysimport timebrowser = webdriver.Edge()URL = 'https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/'browser.get(URL)browser.implicitly_wa..

[ 크롤링-Selenium ] Python Selenium get_attribute() 셀레니움 요소값

요소값을 확인하기 위해서 get_attribute()를 사용할 수 있습니다.다음포털의 메인화면에서[ 게임 ] 부분을 살펴보면 [ a 태그 ]의 요소로[ href ]가 있으며해당 값은 [ https://game.daum.net ]입니다.이 값을 확인하기 위해 get_attribute()를 사용할 수 있습니다.i = driver.find_element(By.CLASS_NAME, "txt_pctop.link_game")time.sleep(3)print(i.get_attribute("href"))먼저 [ 게임 ] 부분에 대한 내용을 [ i ]에 담고i.get_attribute("href")를 print 하면https://game.daum.net 가 출력됩니다. 하나의 태그 안에는여러가지 요소가 있을 수 있습니다..

[ 크롤링-Selenium ] selenium is_displayed(), 화면에 보이는지 여부 확인

셀레니움의  is_displayed() 는 해당 요소가 화면에 보이는지를확인하는 역할을 합니다.화면에 보이면 True를 반환하고화면에 보이지 않으면 False를 반환합니다.  아래 그림은 다음의 검색창입니다.해당 부분의 [ class ]는 [ box_search ]입니다.i = driver.find_element(By.CLASS_NAME, "box_search").is_displayed()print(i)위 코드를 실행하면 True가 반환됩니다. 다음은 아래 그림과 같이 [ class ]가 [ screen_out ]인 요소를 확인해 보겠습니다.i = driver.find_element(By.CLASS_NAME, "screen_out").is_displayed()print(i)위 코드를 실행하면 False를..

728x90
반응형