Selenium Python의 getAttribute() 함수

Rana Hasnain Khan 2023년6월21일
  1. Selenium Python의 getAttribute() 함수
  2. Selenium Python의 getAttribute() 함수의 장점
Selenium Python의 getAttribute() 함수

Selenium용 Python 모듈은 자동화된 테스트 프로세스를 제공하기 위해 개발되었습니다. Selenium Python 바인딩에는 Selenium WebDriver 기능/승인 테스트를 작성하기 위한 간단한 API가 포함되어 있습니다.

움직일 수 있는 능력을 갖는 것은 그다지 유익하지 않습니다. 우리는 페이지, 더 정확하게는 페이지를 구성하는 HTML 조각과 상호 작용하기를 원합니다.

이 기사에서는 Selenium의 getAttribute() 메소드를 사용하여 설명합니다.

Selenium Python의 getAttribute() 함수

getAttribute() 메서드는 앵커 태그의 href 속성과 같은 요소 속성을 검색할 수 있습니다. 이 함수는 처음에 지정된 속성의 값을 반환하려고 시도합니다.

그러한 속성이 없으면 이름이 같은 속성 값이 반환됩니다. 그러나 요소에 속성이 없으면 아무 것도 반환되지 않습니다.

속성이란?

HTML의 속성은 요소의 속성을 정의합니다. 속성은 이름-값 쌍으로 구성되며, 이는 각 속성에 값과 이름이 있음을 의미합니다.

해당 값은 큰따옴표로 묶이고 여는 태그에 제공됩니다. HTML 속성에는 다음이 포함됩니다.

< a target="_blank" href="#" class="btn" >

<img src="#" class="image" alt="myImage" >

< input style="height:50px;" class="form-control" type="email" placeholder="Enter email" name="emailAddress" id="emailAddress" >

< button onclick="#" class="btn" value="" >Login< /button >

위의 예에서와 같이 HTML 태그는 다양한 속성과 값을 가져옵니다. 예를 들어 input 태그에는 class, style, placeholder, type, nameid와 같은 많은 속성이 있습니다.

각 속성에 대해 큰따옴표로 묶인 숫자가 있습니다. 이제 우리는 HTML 웹 요소에 대한 속성의 의미 또는 속성이 어떻게 나타나는지 이해했으므로 getAttributes() 메서드가 유용한 이유를 확인하겠습니다.

Selenium Python의 getAttribute() 함수의 장점

입력 필드, 그림 소스 및 필드 크기의 자리 표시자 콘텐츠를 다시 확인해야 하는 상황을 고려하십시오. getAttribute() 메서드는 이 상황에서 이 문제를 해결합니다.

속성의 값을 얻으려면 속성을 보유하고 있는 웹 요소를 찾고 getAttribute() 메소드를 사용하십시오.

아래와 같이 실제 예에서 이 메서드의 구문에 대해 논의해 보겠습니다.

# python

GetElem.get_attribute("href")

위 구문에서 볼 수 있듯이 href 특성을 가져오려고 합니다. 이제 getAttribute() 메소드를 활용하기 위한 기본 구문을 배웠으므로 값을 가져오는 작업 예제를 살펴보겠습니다.

기본 테스트 스크립트를 개발하기 위해 더미 웹 사이트를 활용합니다. 코드로 이동하기 전에 사용 사례를 살펴보겠습니다.

  1. 먼저 더미 사이트로 이동합니다.
  2. 홈페이지 프런트엔드에서 링크의 href 속성을 얻습니다.
  3. 이미지의 src 속성도 얻습니다.

이제 이 사용 사례에 대한 코드를 살펴보겠습니다.

예제 코드:

# python
from selenium import webdriver

chromeDriver = webdriver.Chrome()

chromeDriver.get("https://www.inventicosolutions.com/")

getElemByLink = chromeDriver.find_element_by_link_text("About Us")

print(getElemByLink.get_attribute("href"))

getElemByClass = chromeDriver.find_element_by_xpath(
    "/html/body/main/div/div[1]/section[1]/div/div/div/div[7]/div/img"
)

print(getElemByClass.get_attribute("src"))

출력:

Python의 Selenium getAttribute() 예

위의 예에서 볼 수 있듯이 getAttribute() 메서드를 사용하여 HTML 태그에서 모든 속성을 가져올 수 있습니다. 이 방법은 웹 스크래핑에서 링크 및 이미지와 같은 웹 사이트에서 특정 데이터를 가져오는 데 도움이 될 수 있습니다.

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn

관련 문장 - Python Selenium