빅데이터 김교수의 "AI노마드연구소" AI로 열어가는 노마드 세상!

빅데이터 김교수의 "AI노마드연구소" AI로 열어가는 노마드 세상입니다. AI 코딩작성, SNS 분석, AI업무자동화 컨설팅 0507-1419-0222

자세히보기

교육/파이썬빅데이터분석교육

셀레니엄 튜토리얼: 실전에서 쓰이는 딥러닝 기법 - 네이버 자동로그인

빅데이터 김교수 2023. 1. 19. 13:54

1. 셀레니엄이란?

Selenium은 웹 애플리케이션 테스팅을 위한 라이브러리로, 웹 브라우저를 제어하여 자동화된 UI 테스트를 수행할 수 있도록 도와줍니다.

Selenium은 다양한 프로그래밍 언어를 지원하며, Python, Java, C#, Ruby 등 사용할 수 있습니다. Selenium을 사용하면 웹 애플리케이션에서 제공하는 기능들을 자동으로 테스트할 수 있으며, 이를 통해 애플리케이션의 품질을 관리할 수 있습니다.

Selenium을 사용하면, 웹 애플리케이션을 제어하는데 필요한 코드를 쉽게 작성할 수 있으며, 이를 통해 자동화된 UI 테스트를 수행할 수 있습니다.

 

2. 셀레니엄  find_element 소개

 

Selenium에서 find_element 기능은 웹 페이지에서 HTML 요소를 찾는 기능입니다. 이 기능을 사용하면, 웹 페이지에서 특정 HTML 요소를 찾아 제어할 수 있습니다.

일반적으로 find_element 함수는 다음과 같이 사용합니다.

 driver.find_element(By.XPATH, '//input[@name="q"]')

위 예제에서는 find_element 함수를 사용하여 name 속성이 "q"인 input 태그를 찾아서 가져옵니다.

find_element 함수는 아래와 같은 파라미터를 가질 수 있습니다.

  • By.XPATH: XPath를 사용하여 요소를 찾습니다.
  • By.ID: id 속성을 사용하여 요소를 찾습니다.
  • By.NAME: name 속성을 사용하여 요소를 찾습니다.
  • By.CLASS_NAME: class 속성을 사용하여 요소를 찾습니다.
  • By.TAG_NAME: 태그명을 사용하여 요소를 찾습니다.
  • By.LINK_TEXT: 링크 텍스트를 사용하여 요소를 찾습니다.
  • By.PARTIAL_LINK_TEXT: 링크 텍스트의 일부분을 사용하여 요소

3. 비주얼스튜디오 설치와 selenium 환경 설정방법

 
비주얼스튜디오 설치와 selenium 환경설정방법은 다음과 같습니다. 
 
  1. Visual Studio 설치
    • Visual Studio 홈페이지에서 다운로드 후 설치를 진행합니다.
  2. Selenium WebDriver 설치
    • Visual Studio에서 프로젝트를 생성합니다.
    • 프로젝트에서 NuGet 패키지 관리자를 열어 Selenium.WebDriver 패키지를 설치합니다.
  3. WebDriver 설정
    • 설치한 WebDriver를 프로젝트에 추가합니다.
    • 코드에서 WebDriver를 사용하기 위해 using Selenium; 선언을 추가합니다.
    • 코드에서 WebDriver 객체를 생성하고 웹 브라우저를 제어할 수 있도록 설정합니다.
  4. 브라우저 드라이버 설치
    • Selenium을 사용하려면 해당 브라우저에 맞는 드라이버를 설치해야합니다.
    • 브라우저에 맞는 드라이버를 다운로드하여 프로젝트에 추가합니다.
    • 코드에서 드라이버 경로를 설정하여 사용할 수 있도록 설정합니다.
  5. Selenium을 사용하려면 위와 같은 과정들을 진행해야 합니다. 이 과정들을 정확히 수행하지 않으면 Selenium을 사용할 수 없으므로 주의해야 합니다.

아래 영상을 참고하세요! 

 

네이버 자동로그인 소스

from selenium import webdriver 
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager #크롬드라이버 자동 업데이트
from selenium.webdriver.common.keys import Keys # Keys
from selenium.webdriver.common.by import By
import time 
import os
import sys
import urllib.request # 폴더생성, 파일 저장
from selenium.webdriver.common import keys
import pyperclip
chrome_options = webdriver.ChromeOptions()
# /chrome_options = EdgeOptions()
chrome_options.use_chromium = True  
chrome_options.add_argument('--no-sandbox')  # 브라우저 윈도우 사이즈
chrome_options.add_argument('window-size=1920x1080') # 사람처럼 보이게 하는 옵션들
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_experimental_option("detach", True) # 창을 열었을 때 닫지 않도록
chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"]) # 불필요한 에러메세지 없애기
ndriver = webdriver.Chrome('chromedriver', options=chrome_options) 

ndriver.get("https://www.naver.com/")
 
# pip install ms/ge-selenium-tools
ndriver.implicitly_wait(3) # 대기시간
# print(keyword, '검색') 
elem = ndriver.find_element(By.CLASS_NAME, "link_login")
elem.click()

 
idInput=ndriver.find_element(By.ID, "id")
idInput.send_keys("아디")
 

pwInput = ndriver.find_element(By.ID, "pw")
pwInput.send_keys("비밀번호")

ndriver.find_element(By.id, "log.login").click()