Как известно, элементы списка, обрамленные тегом <li>, могут и не быть им обрамлены :). Закрывающий тег </li> может и отсутствовать. В этом случае DevTools (он - точно и, видимо, движок сайта тоже) вкладывает последовательные элементы <li> друг в друга, что является неверным, а посему нарушает логику работы скриптов и в некоторых случаях делает достаточно сложным поиск окончания блоков.
Пример статьи - http://www.ixbt.com/digimage/canon_430exii.shtml.
xpath на первый элемент: /html/body/div[2]/div[1]/div[2]/table[1]/tr[1]/td[1]/table[1]/tr[1]/td[1]/div[1]/div[1]/ul[1]/li[1]
У парсера HTML есть свои недостатки, да :) Именно это проблема, с незакрытыми li, скорее всего не будет исправлена. Нужно просто поменять логику работы скрипта.
Спасибо за ответ. В скрипте защиту добавил сразу.