(1)+ Обычно почти все идут по простому варианту с ПолеHTMLДокумента.
Если сайт на JS то без него хрен что сделаешь, ибо свой движок JS найти или написать это гм.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший