В Python вы можете использовать Ghost , который является открытым исходным кодом и доступен с github. Это оболочка Python для хака PyQt4 + WebKit, которая работает довольно хорошо. Вы можете просто сделать
import ghost
g = ghost.Ghost()
g.open('http://stackoverflow.com/')
Теперь g.content
относится к документу пост-рендеринга.
Вы также можете оценить JS в документе с помощью метода evaluate
, и он вернет значения JS.
Ghost также довольно легко раскрывает объекты PyQt, так что вы можете делать вещи с Ghost
объектом, который Ghost не реализует, и он будет проходить через него.
Не могу точно вспомнить, но думаю, что-то вроде
g.main_frame.setContent('<b>Hello World</b>')
можно использовать для установки документа, а
g.content = '<b>Hello World</b>'
бросает один. Требуется некоторое укрощение, но это не займет много времени, чтобы заставить его работать так, как вы хотите.
Документы Ghost - отстой, но источник - единственный файл и довольно объяснительный. Я использую Ghost, и это нормально. Только не создавайте более одного Ghost
объекта, иначе он может привести к краху всего.