Selenium Python을 사용하여 웹 사이트에 로그인

Fariba Laiq 2024년2월15일
Selenium Python을 사용하여 웹 사이트에 로그인

때때로 우리는 웹사이트 로그인과 같은 브라우저에서 작업을 자동화하고 싶을 수 있습니다. 로그인이 필요한 웹 사이트에서 데이터를 스크랩하려는 시나리오에서 유용할 수 있습니다.

Python은 Selenium과 같은 웹 자동화를 위한 많은 패키지를 제공합니다.

Selenium Python을 사용하여 웹 사이트에 로그인

Selenium은 웹 브라우저를 위한 강력한 자동화 및 테스트 도구입니다. 우리는 웹 브라우저를 제어하고 특정 작업을 수행하는 스크립트를 작성합니다.

Selenium 및 Chrome 웹 드라이버 설치

Selenium을 설치하려면 다음 명령을 사용합니다.

#Python 3.x
pip install selenium

ChromeDriver는 Selenium WebDriver가 Chrome과 상호 작용하는 데 사용하는 또 다른 실행 파일입니다. Chrome 웹 브라우저에서 작업을 자동화하려면 ChromeDriver도 설치해야 합니다.

Chrome 브라우저 버전에 따라 호환되는 드라이버를 선택해야 합니다. 다음은 Chrome 드라이버를 설치하고 구성하는 단계입니다.

  1. 링크를 클릭하세요. Chrome 브라우저의 버전과 운영 체제 유형에 따라 Chrome 드라이버를 다운로드합니다.
  2. Chrome 브라우저의 버전을 확인하려면 Chrome 오른쪽 상단 모서리에 있는 세 개의 점을 클릭하고 도움말을 클릭한 다음 Google Chrome 정보를 선택합니다. 정보 섹션에서 Chrome 버전을 확인할 수 있습니다.
  3. zip 파일의 압축을 풀고 Chrome 드라이버를 실행합니다.

Selenium Python을 사용하여 웹 사이트에 자동 로그인하기 위한 코드

다음 코드에서 WebDriver 인스턴스를 만들고 Chrome 드라이버의 경로를 지정했습니다. 그런 다음 대상 웹 사이트의 URL을 드라이버 인스턴스에 지정했습니다. 원하는 브라우저에서 대상 웹사이트를 엽니다.

나중에 로그인하는 데 사용할 변수에 더미 이메일과 비밀번호를 저장했습니다. 이메일과 비밀번호를 자동으로 입력하고 로그인 버튼을 클릭하려면 해당 항목의 name/id(사용 가능한)를 찾아야 합니다. 웹 요소.

브라우저에서 원하는 웹사이트를 열고 요소를 마우스 오른쪽 버튼으로 클릭한 다음 요소 검사를 클릭해야 합니다. 여기에서 요소의 이름을 포함한 HTML 코드를 볼 수 있습니다.

요소의 이름을 복사하여 드라이버 인스턴스와 함께 find_element_by_name() 메서드에 인수로 전달합니다. 나머지 두 요소에 대해 프로세스를 반복합니다.

이 메서드는 변수에 저장할 웹 요소를 반환합니다. sendkeys() 메소드를 사용하여 관련 필드에 이메일과 비밀번호를 자동으로 입력합니다.

사용자가 프로세스의 지연을 통해 어떤 일이 일어나는지 관찰할 수 있도록 필드를 채운 후 2초의 타이머를 설정했습니다. 마지막으로 로그인 버튼은 click() 메소드를 통해 자동으로 클릭됩니다.

예제 코드:

# Python 3.x
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome(r"E:\download\chromedriver.exe")
driver.maximize_window()
driver.get("https://discpersonalitytesting.com/login-here/")
email = "myemail@email.com"
password = "mypassword1@23"
email_textfield = driver.find_element_by_name("email")
password_textfield = driver.find_element_by_name("password")
login_button = driver.find_element_by_name("LoginDAPLoginForm")
email_textfield.send_keys(email)
time.sleep(2)
password_textfield.send_keys(password)
time.sleep(5)
login_button.click()

출력:

셀레늄 로그인

작가: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn

관련 문장 - Python Selenium