Selen kiểm tra phần tử python

Định vị có thể được gọi là một địa chỉ xác định một thành phần web duy nhất trong trang web. Các vị trí định vị là thuộc tính HTML của một phần web thành phần, thông báo cho Selenium về phần web thành phần mà nó cần để thực hiện hành động

Có rất nhiều thành phần web. Phổ biến nhất trong số đó là

  • Hộp văn bản
  • Cái nút
  • thả xuống
  • Siêu liên kết [siêu liên kết]
  • hộp kiểm
  • Nút radio

Locator type

Các câu lệnh của Selenium đều yêu cầu phải định vị các phần tử web để có thể tìm kiếm. Hơn nữa, việc xác định phần tử luôn là một chủ đề khá khó, do đó nó yêu cầu một phương pháp hiệu quả và chính xác. Để xác định các phần tử này, chúng ta có các loại Locator sau

Nguyễn Thị Hoa @nguyenhoa

Theo dõi

1. 4K 72 54

Đã đăng vào ngày 12 tháng 23 năm 2019 10. 10 SA 10 phút đọc

699

0

1

Định vị Selenium. Sử dụng XPath để định vị các phần tử trong Selenium

  • Report
  • Add to series of me

Bài đăng này đã không được cập nhật trong 2 năm

Định vị có thể được gọi là một địa chỉ xác định một thành phần web duy nhất trong trang web. Các vị trí định vị là thuộc tính HTML của một phần web thành phần, thông báo cho Selenium về phần web thành phần mà nó cần để thực hiện hành động

Có rất nhiều thành phần web. Phổ biến nhất trong số đó là

  • Hộp văn bản
  • Cái nút
  • thả xuống
  • Siêu liên kết [siêu liên kết]
  • hộp kiểm
  • Nút radio

Locator type

Các câu lệnh của Selenium đều yêu cầu phải định vị các phần tử web để có thể tìm kiếm. Hơn nữa, việc xác định phần tử luôn là một chủ đề khá khó, do đó nó yêu cầu một phương pháp hiệu quả và chính xác. Để xác định các phần tử này, chúng ta có các loại Locator sau

Định vị theo ID

Đây là phương thức định vị các phần tử web phổ biến nhất và tốt nhất, được sử dụng nhiều nhất từ ​​​​trước đến nay. Trong 1 trang web, mỗi 1 phần tử sẽ có 1 ID riêng và là duy nhất

Trong ví dụ dưới đây, chúng ta cần truy cập vào hộp văn bản "Email" trong biểu mẫu đăng nhập của trang gmail. com. First task is required

a. Use Firebug to find ID of textbox "Email"

Bước 1. Mở trình duyệt [Firefox] và truy cập đường liên kết “https. // tài khoản. Google. com/”

Bước 2. Open firebug [nhấn F12]

Bước 3. Click chuột vào biểu tượng "inspect" để xác định web phần tử

Bước 4. Trỏ chuột vào hộp văn bản "Email". Ở phần firebug, bạn sẽ thấy thẻ HTML tương ứng của hộp văn bản này được tô sáng => ID của phần tử đang truy cập. id="Email" [Cú pháp. id = "id_of_the_element"] [hình duới đây]

Bằng công việc tìm kiếm trong mã HTML, chúng ta có thể xác nhận rằng ID vừa tìm thấy là duy nhất

Cách tiếp cận khác

Thay vì thực hiện từ bước 2 đến bước 4 ở trên, chúng ta có thể xác định vị trí/kiểm tra trực tiếp phần tử web bằng cách nhấp chuột phải vào phần web tử cần kiểm tra [trong ví dụ này là Email hộp văn bản], sau đó . Sự kiện này sẽ mở rộng phần firebug và làm nổi bật thẻ HTML của phần tử tương ứng

b. Xác định giá trị định vị

Giả sử rằng trình duyệt đang mở và đang ở trang "https. // tài khoản. Google. com/"

Bước 1. Khởi chạy Selenium IDE

Bước 2. Nhấp vào dòng đầu tiên trong vùng Editor

Bước 3. Gõ “id=Email” [id của phần tử web vừa lấy ở trên] vào trường Target

Bước 4. Nhấp vào nút Tìm. Nếu giá trị định vị đã cung cấp là chính xác thì hộp văn bản Email sẽ được đánh dấu màu vàng với viền xanh xung quanh. Còn nếu giá trị định vị không chính xác thì hiển thị thông báo lỗi trong Ngăn chặn nhật ký ở bên dưới cùng của Selenium IDE [ảnh dưới đây]

Trường hợp 1 – Locator Value = Correct [giá trị định vị đã cung cấp là chính xác]

Trường hợp 2 – Giá trị định vị = Không chính xác [giá trị định vị đã cung cấp không chính xác]

Để xác minh thêm, bạn có thể nhập 1vài giá trị vào trong mục "Giá trị" ngay bên dưới mục "Mục tiêu" [đang được nhập "id=Email"]. Sau khi nhập vào mục "Giá trị", nếu hộp văn bản Email tương ứng cũng tự động được nhập văn bản giống mục "Giá trị" thì bằng chứng cho thấy giá trị định vị cũng chính xác và có thể truy cập được

Định danh theo ClassName

ClassName cũng là 1 loại định vị để xác định phần tử trên Web giống như ID ở trên. Only other places in 1 trang web. ID thì là duy nhất cho mỗi phần tử, còn có thể có nhiều phần tử có ClassName giống nhau. Trong 1 trang web, thông thường những phần tử có liên quan hoặc có sự tương đồng thì hay được đặt tên lớp giống nhau [1 họ. ]. Trong trường hợp chúng ta muốn tìm 1 tập tin phần tử chung nào thì có thể sử dụng bộ định vị ClassName này

Trong ví dụ dưới đây, chúng tôi sẽ xác định vị trí đường liên kết "Cần trợ giúp?"

a. Use Firebug to find classname of 1 web section

Bước 1. Nhấp chuột phải vào phần tử web cần kiểm tra [trong ví dụ này là văn bản liên kết “Bạn cần trợ giúp?”], sau đó nhấp vào tùy chọn “Kiểm tra phần tử bằng Firebug”. Sự kiện này sẽ mở rộng phần firebug và làm nổi bật thẻ HTML của phần tử tương ứng

Bước 2. At the HTML tag was highlight on, verify the value name of this section

cú pháp. class = tên lớp của phần tử

Nhìn vào ảnh trên, chúng ta có thể dễ dàng xác định được classname = “need-help-reverse”

b. Xác định giá trị định vị

Bước 1. Gõ “class= need-help-reverse” [tên lớp của phần web tử vừa lấy ở trên] vào mục Target của Selenium IDE

Bước 2. Nhấp vào nút Tìm của Selenium IDE. Nếu giá trị định vị đã cung cấp là chính xác thì textlink "Cần trợ giúp?" . Còn nếu giá trị định vị không chính xác thì hiển thị thông báo lỗi trong Ngăn chặn nhật ký ở bên dưới cùng của Selenium IDE [ảnh dưới đây]

Định danh theo Name

Việc sử dụng thuộc tính "name" để xác định phần tử cũng giống như hai loại trên [ID và ClassName], chỉ khác ở cú pháp. Tương tự như ID, tên của các phần tử thông thường là duy nhất, không thay đổi sau những lần làm mới, khá đơn giản dễ sử dụng

Ví dụ, chúng ta sẽ sử dụng thuộc tính "tên" để định vị hộp văn bản “Mật khẩu” trong biểu mẫu đăng nhập trên

cú pháp. name = tên của phần tử

Thực hiện các bước tương tự như trên, sử dụng Firebug chúng ta sẽ dễ dàng tìm thấy hộp văn bản "Mật khẩu" có tên = “mật khẩu”

Xác định giá trị định vị

Bước 1. Gõ “name= password” [tên của textbox "Password" vừa lấy ở trên] vào mục tiêu của Selenium IDE

Bước 2. Nhấp vào nút Tìm của Selenium IDE => hộp văn bản "Mật khẩu" sẽ được tô sáng màu vàng với viền xanh xung quanh. Thay đổi thành 1 giá trị định vị không chính xác [ví dụ “name= passwordabc”. ] thì sẽ hiển thị thông báo lỗi trong Kho lưu trữ nhật ký ở bên dưới cùng của Selenium IDE

Định danh theo Link Text

Đây là cách để xác định/tìm ra các đường dẫn/siêu liên kết. Bất cứ siêu liên kết nào cũng đều gắn với thẻ neo "..." [Cấu trúc của 1 đường dẫn trong HTML code : [{content_displayed}]]

Ví dụ, đang cần xác định đường dẫn “Tạo tài khoản” trong biểu mẫu đăng nhập trên

a. Use Firebug to find link text of 1 web section

Bước 1. Nhấp chuột phải vào phần tử web cần kiểm tra [trong ví dụ này là văn bản liên kết “Tạo tài khoản”], sau đó nhấp vào tùy chọn “Kiểm tra phần tử bằng Firebug”. Sự kiện này sẽ mở rộng phần firebug và làm nổi bật thẻ HTML của phần tử tương ứng

Bước 2: Ở thẻ HTML được highlight phía trên, xác định giá trị link text của phần tử này: chính là text hiển thị bên trong thẻ "..."

cú pháp. liên kết = văn bản liên kết của phần tử

Trong ví dụ này, văn bản liên kết là “Tạo tài khoản” [ảnh dưới đây]

Xác định giá trị định vị

Bước 1. Gõ “link=Creat an account” [link text of path "Creat an account" vừa lấy ở trên] vào mục Target của Selenium IDE

Bước 2. Nhấp vào nút Tìm của Selenium IDE => đường dẫn "Tạo tài khoản" sẽ được đánh dấu màu vàng với viền xanh xung quanh

Use XPath as 1 Locator

Xpath được sử dụng để định vị một phần web dựa trên đường dẫn XML của nó. XPath là viết tắt của ngôn ngữ đánh dấu XML, được sử dụng để lưu trữ, sắp xếp và tùy chọn chuyển đổi dữ liệu. Nó lưu trữ dữ liệu trong một cặp khóa-giá trị rất giống với các thẻ HTML. Nó là một ngôn ngữ truy vấn để chọn các nút từ một tài liệu XML. XPath dựa trên biểu tượng cây của tài liệu XML và cung cấp khả năng điều hướng xung quanh cây bằng cách chọn các nút bằng cách sử dụng nhiều tiêu chí khác nhau. Đây là một lựa chọn phổ biến được lựa chọn vì tính linh hoạt của nó

Đây có thể coi là kỹ thuật hiệu quả nhất, có thể xác định tất cả các phần tử web kể cả các phần tử không thể định vị được bằng CSS [các phương pháp xác định vị trí phía trên]. Tuy nhiên, khi có sự thay đổi trong cấu trúc trang, bạn cần phải cập nhật lại thông tin các phần tử liên quan trong tệp XML này

Chủ Đề