Hướng dẫn selenium find element by css - selen tìm nguyên tố bằng css

Có nhiều chiến lược khác nhau để xác định vị trí các yếu tố trong một trang. Bạn có thể sử dụng cái thích hợp nhất cho trường hợp của bạn. Selenium cung cấp phương pháp sau để định vị các phần tử trong một trang:

  • find_element

Để tìm nhiều phần tử [các phương thức này sẽ trả về danh sách]:

  • find_elements

Ví dụ sử dụng:

from selenium.webdriver.common.by import By

driver.find_element[By.XPATH, '//button[text[]="Some text"]']
driver.find_elements[By.XPATH, '//button']

Các thuộc tính có sẵn cho theo lớp được sử dụng để định vị các thành phần trên một trang. Đây là các thuộc tính có sẵn cho lớp học:

ID = "id"
NAME = "name"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"

Lớp ‘BY được sử dụng để chỉ định thuộc tính nào được sử dụng để định vị các phần tử trên một trang. Đây là những cách khác nhau, các thuộc tính được sử dụng để định vị các phần tử trên một trang:

find_element[By.ID, "id"]
find_element[By.NAME, "name"]
find_element[By.XPATH, "xpath"]
find_element[By.LINK_TEXT, "link text"]
find_element[By.PARTIAL_LINK_TEXT, "partial link text"]
find_element[By.TAG_NAME, "tag name"]
find_element[By.CLASS_NAME, "class name"]
find_element[By.CSS_SELECTOR, "css selector"]

Nếu bạn muốn định vị một số phần tử có cùng thuộc tính, hãy thay thế Find_element bằng Find_elements.

4.1. Định vị bởi id¶

Sử dụng điều này khi bạn biết thuộc tính ID của một phần tử. Với chiến lược này, phần tử đầu tiên với thuộc tính ID phù hợp sẽ được trả về. Nếu không có phần tử nào có thuộc tính ID phù hợp,

find_element[By.ID, "id"]
find_element[By.NAME, "name"]
find_element[By.XPATH, "xpath"]
find_element[By.LINK_TEXT, "link text"]
find_element[By.PARTIAL_LINK_TEXT, "partial link text"]
find_element[By.TAG_NAME, "tag name"]
find_element[By.CLASS_NAME, "class name"]
find_element[By.CSS_SELECTOR, "css selector"]
0 sẽ được nâng lên.

Chẳng hạn, hãy xem xét nguồn trang này:


 
  
   
   
   
  
 

Phần tử biểu mẫu có thể được định vị như thế này:

login_form = driver.find_element[By.ID, 'loginForm']

4.2. Định vị theo tên thánh

Sử dụng điều này khi bạn biết thuộc tính tên của một phần tử. Với chiến lược này, phần tử đầu tiên với thuộc tính tên phù hợp sẽ được trả về. Nếu không có phần tử nào có thuộc tính tên phù hợp,

find_element[By.ID, "id"]
find_element[By.NAME, "name"]
find_element[By.XPATH, "xpath"]
find_element[By.LINK_TEXT, "link text"]
find_element[By.PARTIAL_LINK_TEXT, "partial link text"]
find_element[By.TAG_NAME, "tag name"]
find_element[By.CLASS_NAME, "class name"]
find_element[By.CSS_SELECTOR, "css selector"]
0 sẽ được nêu ra.

Chẳng hạn, hãy xem xét nguồn trang này:


 
  
   
   
   
   
  


Phần tử biểu mẫu có thể được định vị như thế này:

username = driver.find_element[By.NAME, 'username']
password = driver.find_element[By.NAME, 'password']

4.2. Định vị theo tên thánh

continue = driver.find_element[By.NAME, 'continue']

Sử dụng điều này khi bạn biết thuộc tính tên của một phần tử. Với chiến lược này, phần tử đầu tiên với thuộc tính tên phù hợp sẽ được trả về. Nếu không có phần tử nào có thuộc tính tên phù hợp,
find_element[By.ID, "id"]
find_element[By.NAME, "name"]
find_element[By.XPATH, "xpath"]
find_element[By.LINK_TEXT, "link text"]
find_element[By.PARTIAL_LINK_TEXT, "partial link text"]
find_element[By.TAG_NAME, "tag name"]
find_element[By.CLASS_NAME, "class name"]
find_element[By.CSS_SELECTOR, "css selector"]
0 sẽ được nêu ra.

Các phần tử tên người dùng và mật khẩu có thể được định vị như thế này:

Điều này sẽ cung cấp cho nút Đăng nhập của Nhật Bản khi nó xảy ra trước nút Xóa Clear Clear:

4.3. Định vị bởi xpath¶

Chẳng hạn, hãy xem xét nguồn trang này:


 
  
   
   
   
   
  


Phần tử biểu mẫu có thể được định vị như thế này:

login_form = driver.find_element[By.XPATH, "/html/body/form[1]"]
login_form = driver.find_element[By.XPATH, "//form[1]"]
login_form = driver.find_element[By.XPATH, "//form[@id='loginForm']"]

  1. 4.2. Định vị theo tên thánh
  2. Sử dụng điều này khi bạn biết thuộc tính tên của một phần tử. Với chiến lược này, phần tử đầu tiên với thuộc tính tên phù hợp sẽ được trả về. Nếu không có phần tử nào có thuộc tính tên phù hợp,
    find_element[By.ID, "id"]
    find_element[By.NAME, "name"]
    find_element[By.XPATH, "xpath"]
    find_element[By.LINK_TEXT, "link text"]
    find_element[By.PARTIAL_LINK_TEXT, "partial link text"]
    find_element[By.TAG_NAME, "tag name"]
    find_element[By.CLASS_NAME, "class name"]
    find_element[By.CSS_SELECTOR, "css selector"]
    
    0 sẽ được nêu ra.
  3. Các phần tử tên người dùng và mật khẩu có thể được định vị như thế này:

Điều này sẽ cung cấp cho nút Đăng nhập của Nhật Bản khi nó xảy ra trước nút Xóa Clear Clear:

ID = "id"
NAME = "name"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"
0

  1. 4.3. Định vị bởi xpath¶
  2. XPath là ngôn ngữ được sử dụng để định vị các nút trong tài liệu XML. Vì HTML có thể là việc triển khai XML [XHTML], người dùng Selenium có thể tận dụng ngôn ngữ mạnh mẽ này để nhắm mục tiêu các yếu tố trong các ứng dụng web của họ. XPath hỗ trợ các phương thức định vị đơn giản bằng các thuộc tính ID hoặc tên và mở rộng chúng bằng cách mở tất cả các loại khả năng mới như định vị hộp kiểm thứ ba trên trang.
  3. Một trong những lý do chính cho việc sử dụng XPath là khi bạn không có thuộc tính ID hoặc tên phù hợp cho phần tử bạn muốn định vị. Bạn có thể sử dụng XPath để xác định vị trí phần tử theo thuật ngữ tuyệt đối [không được khuyến nghị] hoặc liên quan đến một phần tử có thuộc tính ID hoặc tên. Trình định vị XPath cũng có thể được sử dụng để chỉ định các phần tử thông qua các thuộc tính khác ngoài ID và tên.

Xpath tuyệt đối chứa vị trí của tất cả các phần tử từ gốc [HTML] và kết quả là có khả năng không thành công chỉ với sự điều chỉnh nhỏ nhất cho ứng dụng. Bằng cách tìm một phần tử gần đó với thuộc tính ID hoặc tên [lý tưởng là phần tử cha], bạn có thể xác định vị trí phần tử đích của mình dựa trên mối quan hệ. Điều này ít có khả năng thay đổi và có thể làm cho các bài kiểm tra của bạn mạnh mẽ hơn.

ID = "id"
NAME = "name"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"
1

  1. Các yếu tố hình thức có thể được định vị như thế này:
  2. Đường dẫn tuyệt đối [sẽ bị hỏng nếu HTML chỉ được thay đổi một chút]

Phần tử biểu mẫu đầu tiên trong HTML

  • Phần tử biểu mẫu với ID thuộc tính được đặt thành Loginform
  • Phần tử tên người dùng có thể được định vị như thế này:
  • Phần tử biểu mẫu đầu tiên với phần tử con đầu vào có tên được đặt thành tên người dùng

Đầu tiên đầu vào phần tử con của phần tử biểu mẫu với ID thuộc tính được đặt thành LoginForm

  • Phần tử đầu vào đầu tiên có tên thuộc tính được đặt thành tên người dùng
  • Phần tử nút rõ ràng trên mạng có thể được định vị như thế này:

Đầu vào với tên thuộc tính được đặt để tiếp tục và loại thuộc tính được đặt thành nút

Phần tử con đầu vào thứ tư của phần tử biểu mẫu với ID thuộc tính được đặt thành LoginForm

Chẳng hạn, hãy xem xét nguồn trang này:

ID = "id"
NAME = "name"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"
2

Phần tử biểu mẫu có thể được định vị như thế này:

ID = "id"
NAME = "name"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"
3

4.2. Định vị theo tên thánh

Sử dụng điều này khi bạn biết thuộc tính tên của một phần tử. Với chiến lược này, phần tử đầu tiên với thuộc tính tên phù hợp sẽ được trả về. Nếu không có phần tử nào có thuộc tính tên phù hợp,

find_element[By.ID, "id"]
find_element[By.NAME, "name"]
find_element[By.XPATH, "xpath"]
find_element[By.LINK_TEXT, "link text"]
find_element[By.PARTIAL_LINK_TEXT, "partial link text"]
find_element[By.TAG_NAME, "tag name"]
find_element[By.CLASS_NAME, "class name"]
find_element[By.CSS_SELECTOR, "css selector"]
0 sẽ được nêu ra.

Chẳng hạn, hãy xem xét nguồn trang này:

ID = "id"
NAME = "name"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"
4

Phần tử biểu mẫu có thể được định vị như thế này:

ID = "id"
NAME = "name"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"
5

4.2. Định vị theo tên thánh

Sử dụng điều này khi bạn muốn định vị một phần tử theo tên lớp. Với chiến lược này, phần tử đầu tiên với thuộc tính tên lớp phù hợp sẽ được trả về. Nếu không có phần tử nào có thuộc tính tên lớp phù hợp,

find_element[By.ID, "id"]
find_element[By.NAME, "name"]
find_element[By.XPATH, "xpath"]
find_element[By.LINK_TEXT, "link text"]
find_element[By.PARTIAL_LINK_TEXT, "partial link text"]
find_element[By.TAG_NAME, "tag name"]
find_element[By.CLASS_NAME, "class name"]
find_element[By.CSS_SELECTOR, "css selector"]
0 sẽ được nêu ra.

Chẳng hạn, hãy xem xét nguồn trang này:

ID = "id"
NAME = "name"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"
6

Phần tử P Pi có thể được định vị như thế này:

ID = "id"
NAME = "name"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"
7

4.7. Định vị các yếu tố của CSS Selectors¶

Sử dụng điều này khi bạn muốn định vị một phần tử bằng cú pháp chọn CSS. Với chiến lược này, phần tử đầu tiên phù hợp với bộ chọn CSS đã cho sẽ được trả về. Nếu không có phần tử nào khớp với bộ chọn CSS được cung cấp,

find_element[By.ID, "id"]
find_element[By.NAME, "name"]
find_element[By.XPATH, "xpath"]
find_element[By.LINK_TEXT, "link text"]
find_element[By.PARTIAL_LINK_TEXT, "partial link text"]
find_element[By.TAG_NAME, "tag name"]
find_element[By.CLASS_NAME, "class name"]
find_element[By.CSS_SELECTOR, "css selector"]
0 sẽ được nâng lên.

Chẳng hạn, hãy xem xét nguồn trang này:

ID = "id"
NAME = "name"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"
6

Phần tử P Pi có thể được định vị như thế này:

ID = "id"
NAME = "name"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"
9

4.7. Định vị các yếu tố của CSS Selectors¶

Làm cách nào để tìm một yếu tố trong CSS?

Loại CSS CSS = input [type = 'gửi'], [giá trị định vị] trong selenium ide.click trên nút Tìm. Nút Đăng nhập trong Nút sẽ được tô sáng, xác minh giá trị định vị. Thuộc tính: Được sử dụng để tạo bộ chọn CSS. Click on the Find Button. The “Sign in” button will be highlighted, verifying the locator value. Attribute: Used to create the CSS Selector.

Làm cách nào để tìm XPath trong CSS?

Tìm bộ chọn CSS hoặc XPath..
Nhấp chuột phải vào một yếu tố ..
Chọn kiểm tra ..
Xác định vị trí phần tử trong bảng phần tử của các công cụ nhà phát triển ..
Nhấp chuột phải vào dòng của phần tử ..
Chọn Sao chép -> Sao chép Selector hoặc Sao chép -> Sao chép XPath ..
Dán kết quả vào trường ID của một hành động ..

Tôi có thể sử dụng XPath trong CSS không?

Xác định phần tử bằng nhiều thuộc tính ở đây bằng cách sử dụng XPath / CSS, chúng ta có thể kết hợp hai trình định vị khi cần thiết, hãy xem cách chúng ta có thể đạt được.Sử dụng XPath: - //*[ @id = 'email' hoặc @name = 'email'], ở đây trước tiên, nó sẽ kiểm tra ID và sau đó nó sẽ kiểm tra lần thứ hai.using xpath / Css, we can combine two locators when ever required, lets see how we can achieve. Using xpath : - //*[@id='email' or @name='email'] , here first it will check for the id and then it will check for the second.

Làm thế nào để bạn có được phần tử của CssSselector?

Bước 1: Nhập CSS CSS = Input#Email, tức là giá trị định vị trong hộp đích trong selenium IDE và nhấp vào nút Tìm.Lưu ý rằng hộp văn bản email sẽ được tô sáng.Thẻ HTML - Đó là thẻ được sử dụng để biểu thị phần tử web mà chúng tôi muốn truy cập.# - Dấu băm được sử dụng để tượng trưng cho thuộc tính ID.Type “css=input#Email” i.e. the locator value in the target box in the Selenium IDE and click on the Find button. Notice that the Email Text box would be highlighted. HTML tag – It is the tag which is used to denote the web element which we want to access. # – The hash sign is used to symbolize ID attribute.

Bài Viết Liên Quan

Chủ Đề