How to select elements by text in XPath?

To select elements by text using XPath we can either match the text() value or use it in a contains() function.
For example, to select <a>websites</a> we would use //a[contains(text(), "website")] selector. See this interactive example:

<html> <a>ignore</a> <a>website</a> <a>WEBSITE</a> </html>

Note that contains() method is case sensitive.
For case-insensitive selections we can use matches (sometimes called re:test()) function:

<html> <a>ignore</a> <a>website</a> <a>WEBSITE</a> </html>

Related Posts

Web Scraping With Ruby

Introduction to web scraping with Ruby. How to handle http connections, parse html files for data, best practices, tips and an example project.

Parsing HTML with Xpath

Introduction to xpath in the context of web-scraping. How to extract data from HTML documents using xpath, best practices and available tools.

Web Scraping With PHP 101

Introduction to web scraping with PHP. How to handle http connections, parse html files for data, best practices, tips and an example project.