LINUX.ORG.RU

нужна функциональность Watir-a но без Иксов


0

1

Нужна библиотека, которая понимает структуру веб-страницы, позволяет осуществлять доступ к элементам страницы, также очень важно исполнение javascript-a. Все это делать на стороне сервера, т.е. без Иксов.

Есть Crowbar (http://simile.mit.edu/wiki/Crowbar), но он очень плохо документирован.

Может есть еще аналоги? Или кто-нить запускал Firefox с greasymonkey на сервере без Иксов?

Желательно, но необязательно в виде библиотеки на python/ruby.
Спасибо.

> которая понимает структуру веб-страницы

произвольной страницы или специальной? можно разобрать как xml, но не будет JS

а JS может отдельно обрабатывать, например, V8

Нужна библиотека, которая понимает структуру веб-страницы


WebKit. Но сложно. В QT вроде впилено, но я не пробовал чо он умеет просто так

Все это делать на стороне сервера, т.е. без Иксов.


религия запрещает запустить иксы на сервере?

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

религия запрещает запустить иксы на сервере?

бюджет

произвольной страницы или специальной? можно разобрать как xml, но не будет JS

страницы очень произвольные, писать тысячи строк кода к BeautifulSoup не хотелось бы.

хотелось бы такого:

есть страница на html+javascript:

<html> 
<head> 
<title> 
test page
</title> 
<script> 
document.write("JS output")
</script> 
</head> 
<body> 
html output
</body> 
</html> 

Из этого хотелось бы такое:

...
<body>
JS output

html output
...
</body>

в Google Chrome такая штучка выводится по нажатии правой кнопки мыши->inspect element

так можно в Qt сделать?

WebKit. Но сложно. В QT вроде впилено, но я не пробовал чо он умеет просто так

я прововал сделать через QWebPage.frame.toHtml() но это немножко не то, что я хочу

Donnie_Darko
() автор топика
Ответ на: комментарий от Donnie_Darko

> так можно в Qt сделать?

http://stackoverflow.com/questions/1172928/how-to-access-dom-of-a-web-page-in...

и особенно первую ссылку с того треда: http://labs.qt.nokia.com/2009/04/07/qwebelement-sees-the-light-do-i-hear-a-bo...

чтение по диагонали намякивает, что QWebFrame::evaluateJavaScript() для парсинга пойдет, а дальше уже секас

stevejobs ★★★★☆
()

Берите Qt 4.6 - 4.7 и будет вам счастье. QWebKit позволяет получать доступ к документу, запускать и приостанавливать javascript, цеплять слоты на события javascript... а если чего не хватит - можно дописать, благо исходники открыты и они вполне вменяемы.

Slader
()

Я использовал htmlunit. Но сейчас проще взять какую-нибудь привязку к вебкиту.

baverman ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.