Selenium Python의 웹 요소 메서드
Selenium은 웹 브라우저를 위한 강력한 자동화 및 테스트 도구입니다. 웹 브라우저를 제어하고 특정 작업을 수행하는 Selenium을 사용하여 스크립트를 작성합니다.
Selenium 및 Chrome WebDriver 설치
Selenium을 설치하려면 다음 명령을 사용합니다.
#Python 3.x
pip install selenium
ChromeDriver는 Selenium WebDriver가 Chrome과 상호 작용하는 데 사용하는 또 다른 실행 파일입니다. Chrome 웹 브라우저에서 작업을 자동화하려면 ChromeDriver도 설치해야 합니다.
Chrome 브라우저의 버전에 따라 호환되는 드라이버를 선택해야 합니다. 다음은 Chrome 드라이버를 설치하고 구성하는 단계입니다.
- 이 링크를 클릭하세요. Chrome 브라우저의 버전과 운영 체제 유형에 따라 Chrome 드라이버를 다운로드합니다.
- Chrome 브라우저의 버전을 확인하려면 Chrome 오른쪽 상단 모서리에 있는 세 개의 점을 클릭하고 도움말을 클릭한 다음 Google Chrome 정보를 선택합니다. 정보 섹션에서 Chrome 버전을 확인할 수 있습니다.
- 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()
메소드를 사용하여 email
및 password
텍스트 필드와 이름으로 로그인 버튼을 얻습니다.
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
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