CSS 선택기 Selenium

CSS 선택기란 무엇입니까?

CSS 선택기 Selenium HTML 태그, ID, 클래스 및 속성의 조합을 기반으로 요소를 식별하는 데 사용되는 문자열 패턴입니다. CSS 선택기로 찾기 Selenium 이전 방법보다 더 복잡하지만 고급 검색 방법 중 가장 일반적인 위치 찾기 전략입니다. Selenium ID나 이름이 없는 요소에도 액세스할 수 있기 때문입니다.

CSS 선택기 Selenium 형식은 다양하지만 가장 일반적인 형식에만 중점을 두겠습니다. 다양한 유형의 CSS 로케이터 Selenium IDE

  • 태그 및 ID
  • 태그 및 클래스
  • 태그 및 속성
  • 태그, 클래스 및 속성
  • 내부 텍스트

이 전략을 사용할 때 우리는 항상 접두사를 붙입니다. Target 다음 예제에서 볼 수 있듯이 "css="가 있는 상자입니다.

태그 및 ID – CSS 선택기

다시 한번, 이 예에서 Facebook의 이메일 텍스트 상자를 사용할 것입니다. 기억하시겠지만, 이 텍스트 상자의 ID는 "이메일"이고, 우리는 이미 "ID로 찾기" 섹션에서 이 텍스트 상자에 접근했습니다. 이번에는 Selenium 동일한 요소에 액세스할 때 ID가 있는 CSS 선택기입니다.

통사론

css=tag#id

  • tag = 액세스되는 요소의 HTML 태그
  • # = 해시 기호. 이는 다음을 사용할 때 항상 존재해야 합니다. Selenium ID가 있는 CSS 선택기
  • id = 액세스 중인 요소의 ID

ID 앞에는 항상 해시 기호(#)가 옵니다.

단계 1) 로 이동 www.facebook.com. Firebug를 사용하여 "이메일 또는 전화" 텍스트 상자를 검사합니다.

이 시점에서 HTML 태그가 "input"이고 ID가 "email"이라는 점에 유의하세요. 따라서 구문은 "css=input#email"이 됩니다.

태그 및 ID - CSS 선택기

단계 2) css=input#email”을 입력하세요. Target 상자 Selenium IDE를 선택하고 찾기 버튼을 클릭하세요. Selenium IDE는 해당 요소를 강조 표시할 수 있어야 합니다.

태그 및 ID - CSS 선택기

태그 및 클래스 – CSS 선택기

CSS 선택기 Selenium HTML 태그와 클래스 이름을 사용하는 것은 태그와 ID를 사용하는 것과 유사하지만, 이 경우에는 해시 대신 점(.)을 사용합니다.

통사론

css=tag.class

  • tag = 액세스되는 요소의 HTML 태그
  • . = 점 기호. 이는 클래스와 함께 CSS 선택기를 사용할 때 항상 존재해야 합니다.
  • class = 액세스되는 요소의 클래스

단계 1) 데모 페이지로 이동 http://demo.guru99.com/test/facebook.html 그리고 Firebug를 사용하여 "이메일 또는 전화" 텍스트 상자를 검사합니다. HTML 태그가 "input"이고 클래스가 "inputtext"인 것을 주목하세요.

태그 및 클래스 - CSS 선택기

단계 2) In Selenium IDE에서 "css=input.inputtext"를 입력합니다. Target 상자를 클릭하고 찾기를 클릭하세요. Selenium IDE는 이메일 또는 전화번호 텍스트 상자를 인식할 수 있어야 합니다.

태그 및 클래스 - CSS 선택기

여러 요소에 동일한 HTML 태그와 이름이 있는 경우 소스 코드의 첫 번째 요소만 인식됩니다.Firebug를 사용하여 Facebook의 비밀번호 텍스트 상자를 검사하고 이메일 또는 전화번호 텍스트 상자와 이름이 같은지 확인합니다.

태그 및 클래스 - CSS 선택기

이전 그림에서 이메일이나 전화번호 텍스트 상자만 강조 표시된 이유는 해당 텍스트 상자가 Facebook 페이지 소스에서 가장 먼저 나오기 때문입니다.

태그 및 클래스 - CSS 선택기

태그 및 속성 - CSS 선택기

이 전략은 HTML 태그와 액세스할 요소의 특정 속성을 사용합니다.

통사론

css=tag[attribute=value]

  • tag = 액세스되는 요소의 HTML 태그
  • [ 및 ] = 특정 속성과 해당 값이 배치되는 대괄호
  • attribute = 사용할 속성입니다. 이름이나 ID와 같이 요소에 고유한 속성을 사용하는 것이 좋습니다.
  • 값 = 선택한 속성의 해당 값.

단계 1) 로 이동 Mercury 투어 등록 페이지 http://demo.guru99.com/test/newtours/register.php 그리고 "성" 텍스트 상자를 검사합니다. HTML 태그("이 경우 "input")와 이름("lastName")을 기록합니다.

태그 및 속성 - CSS 선택기

단계 2) In Selenium IDE에서 "css=input[name=lastName]"을 입력합니다. Target 상자를 클릭하고 찾기를 클릭하세요. Selenium IDE가 성 상자에 성공적으로 액세스할 수 있어야 합니다.

태그 및 속성 - CSS 선택기

여러 요소에 동일한 HTML 태그와 속성이 있는 경우 첫 번째 요소만 인식됩니다.. 이 동작은 동일한 태그 및 클래스가 있는 CSS 선택기를 사용하여 요소를 찾는 것과 유사합니다.

태그, 클래스 및 속성 – CSS 선택기

통사론

css=tag.class[attribute=value]

  • tag = 액세스되는 요소의 HTML 태그
  • . = 점 기호. 이는 클래스와 함께 CSS 선택기를 사용할 때 항상 존재해야 합니다.
  • class = 액세스되는 요소의 클래스
  • [ 및 ] = 특정 속성과 해당 값이 배치되는 대괄호
  • attribute = 사용할 속성입니다. 이름이나 ID와 같이 요소에 고유한 속성을 사용하는 것이 좋습니다.
  • 값 = 선택한 속성의 해당 값.

단계 1) 데모 페이지로 이동 http://demo.guru99.com/test/facebook.html 그리고 Firebug를 사용하여 '이메일 또는 전화번호'와 '비밀번호' 입력 상자를 검사합니다. HTML 태그, 클래스 및 속성을 기록해 둡니다. 이 예에서는 'tabindex' 속성을 선택합니다.

태그, 클래스 및 속성 - CSS 선택기

단계 2) 먼저 '이메일 또는 전화번호' 텍스트 상자에 액세스합니다. 따라서 tabindex 값을 1로 사용합니다. "css=input.inputtext[tabindex=1]"을 입력합니다. Selenium 십오 일 Target 상자를 클릭하고 찾기를 클릭합니다. '이메일 또는 전화' 입력 상자가 강조 표시되어야 합니다.

태그, 클래스 및 속성 - CSS 선택기

단계 3) 비밀번호 입력 상자에 액세스하려면 tabindex 속성의 값을 바꾸기만 하면 됩니다. "css=input.inputtext[tabindex=2]"를 입력하십시오. Target 상자를 클릭하고 찾기 버튼을 클릭하세요. Selenium IDE는 비밀번호 텍스트 상자를 성공적으로 식별할 수 있어야 합니다.

태그, 클래스 및 속성 - CSS 선택기

내부 텍스트 – CSS 선택기

아시다시피 HTML 레이블에는 ID, 이름 또는 클래스 속성이 거의 제공되지 않습니다. 그렇다면 어떻게 접근할 수 있나요? 대답은 내면의 텍스트를 사용하는 것입니다. 내부 텍스트는 HTML 레이블이 페이지에 표시하는 실제 문자열 패턴입니다.

통사론

css=tag:contains("inner text")

  • tag = 액세스되는 요소의 HTML 태그
  • 내부 텍스트 = 요소의 내부 텍스트

단계 1) 로 이동 Mercury 투어 홈페이지 http://demo.guru99.com/test/newtours/ Firebug를 사용하여 "Password" 레이블을 조사하세요. HTML 태그(이 경우 "font")를 기록해 두고 클래스, ID 또는 이름 속성이 없음을 확인하세요.

내부 텍스트 - CSS 선택기

단계 2) 타입 css=font:contains(“비밀번호:”) 으로 Selenium 십오 일 Target 상자를 클릭하고 찾기를 클릭하세요. Selenium IDE는 아래 이미지에 표시된 것처럼 비밀번호 레이블에 액세스할 수 있어야 합니다.

내부 텍스트 - CSS 선택기

단계 3) 이번에는 내부 텍스트를 "Boston"으로 바꿔서 Target 이제 “css=font:contains(“Boston”)”이 됩니다. 찾기를 클릭합니다. “Boston to San Francisco” 레이블이 강조 표시되는 것을 알 수 있습니다. 이것은 다음을 보여줍니다. Selenium 내부 텍스트의 첫 번째 단어만 표시한 경우에도 IDE는 긴 레이블에 액세스할 수 있습니다.

내부 텍스트 - CSS 선택기

요약

CSS 선택기 사용으로 찾기 구문

방법 Target 통사론 예시
태그 및 ID CSS=태그#id css=입력#이메일
태그 및 클래스 CSS=태그.클래스 CSS=input.inputtext
태그 및 속성 CSS=태그[속성=값] CSS=입력[이름=성]
태그, 클래스 및 속성 css=태그.클래스[속성=값] css=input.inputtext[tabindex=1]