Разница между функциями contains() и starts-with() в XPath заключается в том, что они решают разные задачи:
Таким образом, contains() подходит, если известна часть динамически изменяющегося атрибута, а starts-with() — если начало атрибута постоянное, а окончание изменяется. 4
Например, starts-with() полезна при работе с динамическими веб-страницами, когда нужно находить элементы с динамическим содержимым, но постоянными префиксами. 1