Jacobvu84 / serenity-pageobject-junit-webdriver

4 stars 1 forks source link

Các mẫu xpath lạ và độc nhưng hữu ích #42

Open Jacobvu84 opened 5 years ago

Jacobvu84 commented 5 years ago

Một số mẫu xpath hữu ích để tìm kiếm đối tượng

Jacobvu84 commented 5 years ago

ABC là Con độc đinh

"//div[@name='ABC' and not(following-sibling::*) and not(preceding-sibling::*)]"
Jacobvu84 commented 5 years ago

Tìm một đối tượng dựa trên việc tổ hợp nhiều thuộc tính của nó

Tên có chứ : và tên có độ dài là 5

//div[contains(@name,':') and string-length(@name) = 5]"
Jacobvu84 commented 5 years ago

Tìm đối tượng dựa vào vị trí của nó

div này là con út

(//div)[last()]

Nếu muốn xác định đứa thứ n thì

(//div)[n]
Jacobvu84 commented 5 years ago

Phù hợp với đứa div có tên là abc hoặc ABC

(//div[@name='abc'] | //div[@name='ABC'])

hoặc 

//div[@name='abc' or @name='ABC']
Jacobvu84 commented 5 years ago

Bố span có 2 đứa con diva

"//span[div[contains(@text,'Groups')]  and a[text()='Double tap to hide.']]"

Thẻ span được xác định là bên trong nó có 2 div tags: một thẻ div có chứ chứa Groups và thẻ a có chữ Double tap to hide.


<span>
   <div> Groups 3</div> 
   <a>Double tap to hide.</a>
</span>
hainguyenh commented 5 years ago

Sử dụng translate để tìm kiếm title hoặc text không phân biệt hoa thường - Hình như do thằng browser ko hỗ trợ XPath 2.0 nên phải viết như vầy //a[translate(@title,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz') = translate('Tên Title','ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')] Trong trường hợp bên trên, Tìm kiếm thẻ a với Title là 'Tên Title' không phân biệt hoa thường

daominhdam commented 5 years ago

2 site để practice về XPath và Css:

daominhdam commented 5 years ago

Kết hợp giữa parent và following-sibling

Product name: Có thể là IPhone/ Sony/ Samsung (dynamic) //a[text()='IPhone']/parent::h2/following-sibling::div[@class='actions']/button

Site demo: http://live.guru99.com/index.php/mobile.html