Selenium Python의 웹 요소 메서드

Fariba Laiq 2023년10월10일
  1. Selenium 및 Chrome WebDriver 설치
  2. Selenium Python의 웹 요소 메서드
Selenium Python의 웹 요소 메서드

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

Selenium 및 Chrome WebDriver 설치

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의 웹 요소 메서드

웹 요소는 웹사이트의 HTML 요소입니다. 텍스트 필드, 버튼, 스크롤바 등이 될 수 있습니다.

클릭 수행, 텍스트 필드 채우기 등과 같이 상호 작용하려는 것입니다. Python에서 웹 요소를 얻으면 Selenium에서 제공하는 해당 요소에 여러 메서드를 적용할 수 있습니다.

예를 들어 HTML에 다음 웹 요소가 있습니다.

<input type="text" name="email" id="email_id" />

다음 코드 조각을 사용하여 이름을 사용하여 웹 요소를 찾습니다.

element_tf = driver.find_element_by_name("email")

또는 id로 찾으면 이 방법을 사용합니다.

element_tf = driver.find_element_by_id("email_id")

요소를 얻은 후에는 많은 방법을 적용할 수 있습니다. 널리 사용되는 몇 가지 방법과 그 설명은 다음과 같습니다.

요소 방법 설명
click() 모든 요소를 ​​클릭합니다.
clear() 텍스트 필드에서 모든 텍스트를 지웁니다.
send_keys() 텍스트 필드에 텍스트를 입력합니다.
text 현재 요소의 텍스트를 가져옵니다.
screenshot() 현재 요소의 스크린샷을 찍고 PNG 파일로 저장합니다.
submit() 세부 정보 입력을 마친 후 양식의 데이터를 제출하십시오.
location 현재 요소의 위치를 ​​가져옵니다.
size 요소의 크기를 반환합니다.
tag_name 현재 요소의 태그 이름을 반환합니다.
is_selected() 요소가 선택되었는지 여부를 나타내는 부울 값을 반환합니다.
is_displayed() 요소가 화면에서 사용자에게 표시되는지 여부를 나타내는 부울 값을 반환합니다.
get_property() 앵커 텍스트의 text_length 속성과 같은 요소의 속성을 반환합니다.
get_attribute() 앵커 태그의 href 속성과 같은 요소의 속성을 반환합니다.

웹 요소 메서드를 보여주는 코드

다음 코드에서 위의 방법 중 일부를 사용했습니다. find_view_by_name() 메소드를 사용하여 emailpassword 텍스트 필드와 이름으로 로그인 버튼을 얻습니다.

send_keys() 메소드를 사용하여 더미 이메일과 비밀번호를 입력하고 clear() 메소드를 사용하여 password 필드를 지웠습니다. text, location, tag_name 메소드를 사용하여 로그인 버튼의 텍스트, 위치 및 태그 이름을 추출했습니다.

is_selected()is_displayed() 메소드를 사용하여 로그인 버튼이 선택되어 표시되는지 확인했습니다. 마지막으로 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(3)
password_textfield.clear()
password_textfield.send_keys(password)
time.sleep(2)
print(login_button.text)
print(login_button.location)
print(login_button.is_selected())
print(login_button.is_displayed())
print(login_button.tag_name)
login_button.click()

출력:

Login
{'x': 251, 'y': 499}
False
True
button

요소 메서드

작가: 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