LINUX.ORG.RU

API браузеров

 , , , ,


1

1

Подскажите, если знаете, как запустить браузер(ff, например) из командной строки с параметром post/get запросом, чтобы после загрузки он выдал запрашиваемую страницу. Что нибудь типа firefox -g http://www.site.com?p=1 > file.mht. Может есть API для какого-нибудь языка? Нужно подобно wget но браузером. Интересуют и chrome, opera, ie.

Ответ на: комментарий от theNamelessOne

С phantomjs получается создаем js файл,в котором загружается все что нам нужно,указываем всякие headers и открываем его нужным браузером?

IvanIvan
() автор топика

mozrepl ещё посмотри

anonymous
()
Ответ на: комментарий от IvanIvan

Нет, создаём .js- (или .coffee-) файл, в котором указываем страницу или параметры для post-запроса, и скармливаем его фантому:

page = require('webpage').create()
fs = require 'fs'
[script, url, file] = require('system').args

class Exit
  code: 0
  exited: no

  exit: (code) ->
    return if @exited
    [@code, @exited] = [code, yes]
    phantom.exit @code

  die: (msg) ->
    console.error msg
    @exit 1

exit = new Exit()

exit.die "Usage: #{script} URL [FILE]" unless url

file ?= 'result.html'

page.open url, (status) ->
  exit.die "Unable to load #{url}" if status isnt 'success'

  fs.write file, page.content, 'w'
  exit.exit()

Запуск:

λ desktop phantom → phantomjs wget.coffee http://www.google.com  google.html
λ desktop phantom → file google.html                                        
google.html: HTML document, UTF-8 Unicode text, with very long lines
λ desktop phantom → 

Только есть одна проблемка. Только что погуглил и узнал, что сохранить в .mht, скорее всего, не получится. Если для тебя это критично, то смотри в сторону selenium.

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

Спасибо,selenium можно попробывать,но он не доработанный.По идее сами браузеры согласно webDriver должны предоставлять api.

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

Опера cli, ff-mozrepl или selenium,chrome - CBA или selenium. Собрать эту кучу в одно целое.

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

Спасибо что расписали подробно.Но нужна загрузка страниц браузером.phantomjs сам грузит.

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