Xpath trong selenium cho một ứng dụng Web

    Nội dung của bài viết bao gồm:

  1.     Khái niệm Xpath

  2.     Phân loại Xpath

  3.     Cấu trúc của Xpath

  4.     Giải thích chi tiết các yếu tố trong cấu trúc và ví dụ

  5.     Một số công nghệ trong Xpath

1. Khái niệm Xpath

    XPath là đường dẫn XML. Nó là một cú pháp để tìm kiếm bất kỳ element nào trên trang web bằng cách sử dụng biểu thức XML path. XPath được sử dụng để tìm locator của bất kỳ element nào trên trang web bằng cách sử dụng cấu trúc DOM HTML.

    

2. Phân loại Xpath

2.1. Xpath tương đối

  •     Có thể tìm kiếm element ở mọi nơi trên Web

  •     Có thể bắt đầu từ bất kỳ vị trí nào của HTML

  •     Viết ngắn gọn và rất linh hoạt

  •     Bắt đầu bằng ký tự: "//"

    

2.2. Xpath tuyệt đối

  •     Tìm kiếm trực tiếp từ một element

  •     Bắt đầu bằng ký tự: "/"

  •     Cấu trúc viết dài và không được linh hoạt

    

3. Cấu trúc của Xpath

    //tagname[@attribute=value]

3.1. Ký hiệu "//"

    //: là thể hiện bắt đầu từ node hiện tại

3.2. Element => tagname

    Textbox => input

    Textarea => textarea

    Dropdown List (mặc định) => select > option

    Dropdown list (Custom) => ul > li div > span

    Button => button input

    Checkbox => input

    Radio button => input

    Image => img

    Link => a

    Table => table

    header (table) => th

    Column (table) => td

    Row (table) => tr

    Text => div span label

    Header => h1 - h5

    Slider => input

    Upload file => input

    Tooltip => div

    Menu => a

    Icon => span

3.3. Attribute

  • Attribute là tên của Attribute

    Ví dụ: Trong trường FirstName của chức năng đăng ký trong trang: http://live.demoguru99.com/index.php/customer/account/create/

    Attribute name = id

3.4. Value

  • Value là giá trị của attribute

    Ví dụ: Trong trường FirstName của chức năng đăng ký trong trang: http://live.demoguru99.com/index.php/customer/account/create/

    Attribute value = firstname

    

    => Xpath: //tagname[@attribute=value]

    Trong ví dụ này sẽ quy đổi ra thành như sau:

    //input[@id='firstname']

4. Một số công nghệ trong Xpath

4.1. Khi Attribute value là duy nhất

  • Dùng format: Tagname & Attribute & Value

    //tagname[@attribute=value]

  1. //input[@id='email']
  2. //input[@title='title="Email Address']
  3. //input[@name='login[username]']

    

4.2. Khi không thể định danh được element bằng thẻ và attribute của nó

4.2.1. Lấy từ đời cha trở xuống (Parent node)

  • Dùng cấu trúc:
//parent-tagname[@attribute='value']//child-tagname[@attribute='value']

    Ví dụ:

    Dùng Tagname và attribute chúng ta không tìm được sự duy nhất của element:

    Khi này chúng ta cẫn phải lấy thêm điều kiện từ đời cha trở xuống

    

4.2.2. Lấy từ đời cha trở lên

    

4.3. Lấy tuyệt đối

4.3.1. Text()

text()=: Chứa giá trị tuyệt đối trong chuỗi

    Ví dụ:

4.3.2.@attribute()

@attribute()=: chứa giá trị tuyệt đối trong attribute

    

4.4. Lấy tương đối

contains(text()),attribute (value)

    

contains(@attribute,value)

    

KẾT LUẬN

    Nội dung bài viết giúp các bạn có thể bắt được element bằng nhiều cách khác nhau trong trường hợp cụ thể, bài sau mình sẽ viết thêm bốn cách bắt element bằng Xpath và giới thiệu về CSS trong selenium tới các bạn.

    Cảm ơn các bạn đã đọc bài viết!

Nguồn: Viblo

Bình luận
Vui lòng đăng nhập để bình luận
Một số bài viết liên quan