Eu comecei recentemente a usar o WebDriver do Selenium 2 em Java. Existe um driver chamado HtmlUnitDriver que suporta totalmente o JavaScript, mas não ativa um navegador real.
Não é uma solução leve, mas faz o trabalho.
Eu projetei o código para ser executado a partir da linha de comando e salvar os dados da web em arquivos.