BasiliskJS - Scriptable Headless WebKit¶
BasiliskJS Представляет собой WebKit для python, основан на PhantomJS .
Возможность¶
- Быстрое тестирование. Возможность быстрого тестирования без браузера!
- Автоматизация dom. Простой интерфейс.
- Работа с js. Есть возможность выполнять JavaScript.
- Захват экрана. Возможность сделать снимок страницы любого размера.
Пример работы¶
Простой запрос на http://phantomjs.org/.
>>> from basilisk import PhantomJS
>>> PhantomJS.get('http://phantomjs.org/')
Запрос с выполнением js.
from basilisk import PhantomJS
js = '''
var temp = {};
for (var i = 0; i != document.getElementsByClassName('nav-item-name').length; i++) {
temp[i] = document.getElementsByClassName('nav-item-name')[i].innerText;
}
return temp;
'''
data = {
'loadImages': False,
'get_cookies': False,
'get_url': False,
'content': False,
'image_name': 'BasiliskJS',
'screenshot': False,
'js': js,
'ImagesSize':{'width':1920, 'height':1080},
'userAgent':''
}
print(PhantomJS.get('http://phantomjs.org/documentation/', param=data))
Простой запрос с простым выполнением js
from basilisk import PhantomJS
js = [
"document.getElementsByClassName('explanation')[0].innerText"
]
PhantomJS.get('http://phantomjs.org/', js = js)
Показать html контент
>>> from basilisk import PhantomJS
>>> PhantomJS.get('http://phantomjs.org/', content=True)
Параметры метода get()¶
- url. - url для get запроса.
- content. - Паказать content, по умолчанию( False ).
- load_image. - Загрузка изаброжений сайта, по умолчанию( False ).
- userAgent. - User-Agent, по умолчанию( «BasiliskJS» ).
- js. - Выполнить полноценый js.
- get_url. - Показать url, по умолчанию( False ).
- screenshot. - Сделать скриншот сайта, по умолчанию( False ).
- get_cookies. - Получить cookies по умолчанию( False ).
- ImagesSize. - Размер скриншота по умолчанию( {„width“:1920, „height“:1080} ).
- image_name. - Название файла скриншот или полный путь к файлу , по умолчанию( BasiliskJS ).
- command. - Для работы требуется браузер PhantomJS, параметр отвечает за путь к нему, по умолчанию( phantomjs ).
Развитие¶
На данный момент мы на стадии Pre-Alpha. Вы можете увидеть сообщения об ошибках и т.д.