XPATH Selectors Cheat Sheet

This article presents various XPATH expressions for finding web elements.

It uses elements from this page:

https://vpl.bibliocommons.com/search?q=java&t=keyword


The list of XPATH expressions is provided as help for learning how XPATH works.


The list is not complete so if you have any ideas of new expressions, please leave them in the Comments section.


You can test the XPATH expressions in Chrome by

  • click the Chrome menu
  • select More Tools
  • click the CONSOLE tab
  • type $x("xpath expression")
  • press ENTER


Find Elements Based on Tag


EXAMPLE

//input

Finds the elements with the INPUT tag.









Find Elements Based on Tag and an Attribute

EXAMPLE

//inpu­t[@­class='search_button']

Finds the elements with INPUT tag that have a CLASS attribute with the "­search_button­" value






Find Elements Based On 2 Attributes


EXAMPLE

//inpu­t[@­id=­'gl­oba­lQuery' and @name='q']

Finds the elements with the INPUT tag that 

1. have an ID attribute with the "­glo­bal­Que­ry" value

2. have a NAME attribute with the "­q" value







Find Elements That are Direct Children Of Another Element

EXAMPLE

//div[@class='dropdown']/a

1. finds the elements with the DIV tag that have a CLASS attribute with 
the "­dropdown­" value

2. for each element from the DIV list, finds the A elements that are direct children








Find A Specific Element From a List of Elements


EXAMPLE

(//span[@class='title'])[3]


1. finds the elements with the SPAN tag that have the CLASS attrib­ute's value equal to 
"­title"

2. selects the 3rd element from the list of SPAN elements








Find the Last Element From a List of Elements



EXAMPLE

(//span[@class='title'])[la­st()]

This example uses an XPATH function (last()).

1. finds the elements with the SPAN tag that have the CLASS attrib­ute's value equal to 
"title"

2. select the last element from the list of SPAN elements







Finds Elements That Are Included in Other Elements


EXAMPLE

(//div[@class='row top_info list_item_section'])[1]//span


1. finds the elements with the DIV tag that have the CLASS attrib­ute's value equal to "­row top_info list_item_section"

2. gets the first element from the DIV elements list

3. finds all SPAN elements (direct children or not) that are inside of the first DIV







Find Elements That Include Keywords in an Attribute



EXAMPLE

//a[co­nta­ins­(@href, 'show_­cir­cul­ati­on')]

Finds the A elements that have "­sho­w_c­irc­ula­tio­n" included in the value of the HREF attribute.

This example uses an XPATH function (contains()).








Find Elements That Have an Attribute Starting  With Keyword

EXAMPLE

//a[st­art­s-w­ith­(@href, '/item­/sh­ow_­cir­cul­ati­on')]

Finds the A elements that have the HREF attrib­ute's value starting with "­/it­em/­sho­w_c­irc­ula­tio­n".

This example uses an XPATH function (starts-with()).







Find Elements That Do Not Have A Value For Attribute

EXAMPLE

//inpu­t[n­ot(­@na­me=­'q')]

Finds the INPUT elements that have the NAME attrib­ute's value different than "­q".

This example uses an XPATH function (not()).









Get the Count of Elements Matched by an Expression

EXAMPLE

count(­//span[­@cl­ass­='title'])

Provides the count of all SPAN elements that have the CLASS attrib­ute's value equal to "title".

This example uses an XPATH function (count()).







Get An Element's Attribute's Value

EXAMPLE

//input[@testid='field_search']/@id

1. Finds the INPUT elements that have the TESTID attrib­ute's value equal to 
"­field_search"

2. Gets the value of the ID attribute for the INPUT elements








Get an Element's Value


EXAMPLE

(//span[@class='subTitle'])[1]/text()

This example uses an XPATH function (text()).

1. finds the first SPAN element that has the CLASS attrib­ute's value equal to "­subTitle"

2. gets the value of the element







Gets Links With URL Greater Than 30 Characters


EXAMPLE

//a[st­rin­g-l­eng­th(­@href) > 30]

Finds the elements with the A tag that have the HREF attribute value length greater than 30 characters.

This example uses an XPATH function (string-length()).







NEXT


Share this

1 Response to "XPATH Selectors Cheat Sheet"

  1. Thanks for sharing great information in your blog. Got to learn new things from your Blog . It was very nice blog to learn about Selenium

    ReplyDelete