Как стать автором
Обновить

Комментарии 12

Аналогом //div[2] является div:nth-of-type(2), а не div:nth-child(2). Возможно, поэтому у вас "в хроме тоже может глючить". Да и в Firefox я не припомню проблем с querySelector для селектора с псевдоклассом (кроме бага с использованием псевдоклассов внутри :has), может разве что в совсем ранних версиях что-то такое и было.

Еще замечу пропущенные > при конвертации / из XPath в CSS.

Плюс, некоторые из "отсутствующих" CSS селекторов на самом деле существуют, например:
a:is([name],[href])//a[@name or @href]
body > div:nth-last-of-type(2)//body/div[last()-1]
body > div:nth-of-type(-n+2)//body/div[position()<3]
*:has(> a)//a/parent::*
h1 ~ h2:last-of-type//h1/following-sibling::h2[last()]

Спасибо, добавила!

О, спасибо, исправила. Но в firefox буквально на этой неделе сравнивала разные селекторы и он часть не считывает, которые работают в хроме

Отличная статья, спасибо. нашёл несколько ошибок в таблице "Поиск потомков (обход дерева вниз)":

для xpath "Дети с типом div" написано, "//body/child::*", а должно быть "//body/child::div"

для "Только потомки div" указано "descendant::a"

Ох, да, спасибо, исправила! А то проверяла я на "a", так и вставила, а в статье див в примерах)

Хорошая статья в качестве справочного материала с примерами, как всего чудесно. Спасибо, Ольга, за ваш труд.

Спасибо за фидбек, очень приятно!

Ещё полезная функция в XPath - normalize-space(), позволяет убрать пробелы и прочие мусорные знаки из текста элемента

Ага, спасибо, но мне кажется, эта функция всё же больше про разработчиков, а моя статья нацелена больше на поиск элементов для автотестов, иначе тогда можно вообще все функции выписывать)

Огромное спасибо за Ваш труд! Видел подобные штуки для регулярок, в виде pdf, очень удобно

Спасибо большое)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации