Usage

Addcookie

Метод addcookie используется для добавления файлов cookie и сохранения данных. Это похоже на то, как браузер хранит его. Он принимает один аргумент, который является объектом со всеми свойствами файлов cookie, и синтаксис для него выглядит следующим образом:

Basic request

A basic GET request:

Clearcookies

Этот метод позволяет удалить все куки.

Cookiesenabled

Он сообщает, включены ли файлы cookie или нет. Он вернет истину , если да; иначе ложно .

Custom timeout

By default, each request will timeout after 5 seconds. You can set a custom timeout period (in milliseconds) for each request:

Deletecookie

Удалите любой файл cookie в CookieJar со свойством name, совпадающим с cookieName. Он вернет true , если успешно удален; иначе ложно .

Exceptions

The following offers an explanation of the exceptions that may be raised by the PhantomJS library.

Injectjs

InjectJs используется для добавления файлов addtionaljs в фантом. Если файл не найден в текущем каталоге пути библиотеки , свойство phantom (phantom.libraryPath) используется в качестве дополнительного места для отслеживания пути.

Librarypath

PhantomJS libraryPath хранит путь к сценарию, который будет использоваться методом injectJS .

Linux 32 бит

Загрузите zip-файл PhantomJS, предназначенный для 32-разрядной ОС Linux, и извлеките содержимое. Как только содержимое загружено, переместите папку PhantomJS в / usr / local / share / и создайте символическую ссылку –

sudo mv $PHANTOM_JS /usr/local/share 
sudo ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin.

Выполните phantomjs –v в терминале, и он должен дать версию PhantomJS.

Linux 64 бит

Загрузите zip-файл PhantomJS, предназначенный для 64-разрядной ОС Linux, и извлеките содержимое. Как только содержимое загружено, переместите папку PhantomJS в / usr / local / share / и создайте символическую ссылку –

sudo mv $PHANTOM_JS /usr/local/share 
sudo ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin.

Выполните phantomjs –v в терминале, и он должен дать версию PhantomJS.

On load finished

Another way of delaying the page render is to wait until all the resources on the page have finished loading. This includes things like images, AJAX requests etc. This can be achieved by telling the client to lazy load the request.

Note

It is recommended that you set a timeout on the request when lazy loading. This guarantees that the request will return content after a period of time even if page resources are still loading. Without this you may run into issues on pages that poll resources at short intervals.

Other request methods

The PHP PhantomJS library supports the following request methods:

  • OPTIONS
  • GET
  • HEAD
  • POST
  • PUT
  • DELETE
  • PATCH

The request method can be set when creating a new request instance through the message factory:

Output to pdf

You can output a page to PDF by creating a PDF request and setting the path you wish to save the document to.

Phantomjs – repl

REPL расшифровывается как Read Eval Print Loop . В PhantomJS REPL – это интерактивный режим для тестирования кода JavaScript. Вы можете сделать то же самое, что и в Google Chrome Inspector или Firebug, чтобы выполнить какой-то фрагмент кода прямо на консоли. REPL возвращает вам ту же платформу для выполнения сценариев.

Введенная команда отправляется переводчику для немедленного перевода (EVAL) и для предоставления обратной связи (PRINT). Введите PhantomJS в командной строке, и он перейдет в интерактивный режим, в котором вы сможете выполнить свой код напрямую.

Phantomjs – автоматизация страниц

PhantomJS с помощью API-интерфейсов модуля веб-страниц может манипулировать веб-страницами и выполнять такие операции, как манипулирование DOM, нажатие кнопок и т. Д.

Phantomjs – захват экрана

PhantomJS очень помогает сделать снимок экрана веб-страницы и преобразовать веб-страницу в PDF. Мы привели здесь простой пример, чтобы продемонстрировать, как это работает.

Phantomjs – интерфейс командной строки

PhantomJS может быть выполнен с использованием ключевого слова “phantomjs” и имени файла. Например, “phantomjs file.js”.

Вы также можете передать аргументы в “file.js” следующим образом:

phantomjs [options] file.js arg1 arg2 ...

Давайте рассмотрим некоторые параметры, доступные в командной строке.

–помощь или –h

Будет отображаться все параметры командной строки. Немедленно останавливается и не запустит пройденный скрипт.

– версия или –v

Печатает версию работающего PhantomJS. Это остановит выполнение скрипта для запуска.

–debug [правда | ложь]

Печатает предупреждения и отладочные сообщения. По умолчанию установлено значение false. Вы также можете использовать [да | нет].

–cookies-file = /path/to/cookies.txt

Имя файла для хранения постоянных файлов cookie.

–diskcache = [правда | ложь]

Включает дисковый кеш. Он также принимает значения [да | нет]

–disk-Cahe-путь

Путь к дисковому кешу.

–ignore-sslerrors = [правда | ложь]

Игнорировать ошибки SSL. Например – просроченные или самозаверяющие ошибки сертификата. По умолчанию установлено значение false. Он также принимает значения [да | нет].

–loadimages = [правда | ложь]

Загружает все встроенные изображения. По умолчанию установлено значение true. Это также занимает [да | нет].

–local-storagepath = / некоторые / путь

Путь для сохранения содержимого LocalStorage и содержимого WebSQL.

–local-StorageQuota = номер

Максимальный размер, чтобы учесть данные.

–local-URL-доступ

Позволяет использовать URL-адреса «file: ///» (по умолчанию true).

–local к дистанционным urlaccess = [верно | ложь]

Позволяет локальному контенту получать доступ к удаленному URL. По умолчанию установлено значение false. Он также принимает значения [да | нет].

–max-диск-CacheSize = размер

Ограничивает размер дискового кэша (в КБ)

–offline-хранения-путь

Определяет местоположение для автономного хранилища.

–offline квоты хранения

Устанавливает максимальный размер автономного хранилища в КБ.

–outputencoding = кодирование

Устанавливает кодировку, используемую для вывода на терминал. По умолчанию используется utf-8.

Phantomjs – методы

PhantomJS – это платформа, которая помогает выполнять JavaScript без браузера. Для этого используются следующие методы, которые помогают в добавлении файлов cookie, удалении, очистке, выходе из сценария, внедрении JS и т. Д.

Мы обсудим больше об этих методах PhantomJS и их синтаксисе в этой главе. Подобные методы, например addcookie, injectjs, существуют в модуле веб-страницы, что будет обсуждаться в последующих главах.

PhantomJS предоставляет следующие методы, которые могут помочь нам выполнить JavaScript без браузера:

  • addCookie
  • clearCookie
  • deleteCookie
  • Выход
  • InjectJS

Давайте теперь разберемся в этих методах подробно с примерами.

Phantomjs – методы модуля веб-сервера

В этой главе мы обсудим различные методы модуля веб-сервера PhantomJS.

Phantomjs – методы модуля веб-страницы

Модуль веб-страницы имеет методы для файлов cookie, фреймов, навигации по страницам, перезагрузки, рендеринга и загрузки файлов .

Ниже приведены методы, доступные на веб-странице.

Phantomjs – методы модуля файловой системы

В следующей таблице приведены все методы и их описания, доступные в модуле файловой системы.

S.No Методы и описание
1абсолютный

Этот метод дает абсолютный путь запуска PhantomJS.

2changeWorkingDirectory

Это позволяет вам изменить рабочий каталог и возвращает true, если это успешно, в противном случае возвращает false.

3copyTree

copyTree скопирует каталог из одного пути в другой. Первый параметр – это исходная папка, а второй параметр – папка назначения.

4копия

Этот метод помогает копировать файл из одного места в другое. Требуется два параметра. Первый параметр – это исходный файл, а второй параметр – путь к файлу, куда он должен быть скопирован. Он выдаст ошибку, если исходный или целевой файл не существует.

5существует

Он проверяет, существует ли указанный путь к файлу в системе. Возвращает true, если оно присутствует, иначе false.

6isAbsolute

Этот метод вернет true, если путь к файлу является абсолютным, и false, если относительный.

7isDirectory

isDirectory сообщает, является ли данный файл каталогом или нет. Возвращает true, если каталог иначе false. Это дает ложь в случае, если данный путь не существует.

8isExecutable

Этот метод скажет, является ли данный файл исполняемым или нет. Возвращает true, если исполняемый, иначе false.

9ISFILE

Это дает подробную информацию о том, является ли данный путь к файлу файлом или нет. Он возвращает истину, если это файл, и ложь, если это не так.

10isLink

Это даст вам значение true, если путь к файлу является символической ссылкой, в противном случае – false.

11isReadable

Он проверяет, доступен ли данный файл для чтения или нет. Это дает истину, если да, и ложь, если нет.

12isWritable

Он сообщает, доступен ли для записи данный файл. Возвращает true, если да, в противном случае false.

13Последнее изменение

Предоставляет информацию о последней модификации файла. Он сообщает дату и время последнего изменения файла.

14список

Это дает все файлы, присутствующие в каталоге.

15MakeDirectory

Создает новый каталог.

16makeTree

makeTree создает все необходимые папки, чтобы иметь возможность формировать конечные каталоги. Это вернет true, если создание было успешным, иначе false. Если каталог уже существует, он вернет true.

17переехать

Это переместит файл с одного пути на другой.

18открыть

Он используется для открытия файла.

19readLink

Это вернет абсолютный путь к файлу или папке, указанной символической ссылкой (или ярлыком в Windows). Если путь не является символической ссылкой или ярлыком, он вернет пустую строку.

20читать

Это прочитает данный файл.

21RemoveDirectory

Это удалит данный каталог.

22removeTree

Он удалит все файлы и папки из данной папки и, наконец, удалит саму папку. Если во время этого процесса возникнет какая-либо ошибка, он выдаст ошибку – «Невозможно удалить дерево каталогов PATH» и приостановить выполнение.

23Удалить

Удаляет данный файл.

24размер

Это дает размер файла.

25потрогать

Создает данный файл.

26записывать

Пишет в данный файл.

Этот метод дает абсолютный путь запуска PhantomJS.

Это позволяет вам изменить рабочий каталог и возвращает true, если это успешно, в противном случае возвращает false.

copyTree скопирует каталог из одного пути в другой. Первый параметр – это исходная папка, а второй параметр – папка назначения.

Этот метод помогает копировать файл из одного места в другое. Требуется два параметра. Первый параметр – это исходный файл, а второй параметр – путь к файлу, куда он должен быть скопирован. Он выдаст ошибку, если исходный или целевой файл не существует.

Он проверяет, существует ли указанный путь к файлу в системе. Возвращает true, если оно присутствует, иначе false.

Этот метод вернет true, если путь к файлу является абсолютным, и false, если относительный.

isDirectory сообщает, является ли данный файл каталогом или нет. Возвращает true, если каталог иначе false. Это дает ложь в случае, если данный путь не существует.

Этот метод скажет, является ли данный файл исполняемым или нет. Возвращает true, если исполняемый, иначе false.

Это дает подробную информацию о том, является ли данный путь к файлу файлом или нет. Он возвращает истину, если это файл, и ложь, если это не так.

Это даст вам значение true, если путь к файлу является символической ссылкой, в противном случае – false.

Он проверяет, доступен ли данный файл для чтения или нет. Это дает истину, если да, и ложь, если нет.

Он сообщает, доступен ли для записи данный файл. Возвращает true, если да, в противном случае false.

Предоставляет информацию о последней модификации файла. Он сообщает дату и время последнего изменения файла.

Это дает все файлы, присутствующие в каталоге.

Создает новый каталог.

makeTree создает все необходимые папки, чтобы иметь возможность формировать конечные каталоги. Это вернет true, если создание было успешным, иначе false. Если каталог уже существует, он вернет true.

Это переместит файл с одного пути на другой.

Он используется для открытия файла.

Это вернет абсолютный путь к файлу или папке, указанной символической ссылкой (или ярлыком в Windows). Если путь не является символической ссылкой или ярлыком, он вернет пустую строку.

Это прочитает данный файл.

Это удалит данный каталог.

Он удалит все файлы и папки из данной папки и, наконец, удалит саму папку. Если во время этого процесса возникнет какая-либо ошибка, он выдаст ошибку – «Невозможно удалить дерево каталогов PATH» и приостановить выполнение.

Удаляет данный файл.

Это дает размер файла.

Создает данный файл.

Пишет в данный файл.

Phantomjs – настройка среды

PhantomJS является свободным программным обеспечением и распространяется под лицензией BSD . Его легко установить, и он предлагает несколько функций для выполнения сценариев. PhantomJS можно легко запустить на нескольких платформах, таких как Windows, Linux и Mac.

Phantomjs – обзор

Говорят , что PhantomJS – это браузер без головы, потому что он не задействует браузер при выполнении кода JavaScript. Выполнение будет отображаться не на дисплее браузера, а в командной строке.

Такие функции, как CSS Handling, DOM Manipulation, JSON, Ajax, Canvas, SVG и т. Д., Будут обрабатываться в командной строке. PhantomJS не имеет графического интерфейса и, следовательно, все его выполнение происходит в командной строке.

Phantomjs – объект

В этой главе мы рассмотрим четыре важных объекта PhantomJS. Они заключаются в следующем –

  • CookiesEnabled
  • Печенье
  • LibraryPath
  • Версия

Давайте теперь обсудим каждый из них в деталях.

Phantomjs – примеры

В этой главе мы приводим еще несколько практических примеров, чтобы понять некоторые важные особенности PhantomJS.

Phantomjs – свойства модуля веб-сервера

PhantomJS использует встроенный веб-сервер mongoose . В настоящее время PhantomJS не может подключиться ни к какому другому производственному веб-серверу. Что касается соединения, он может обрабатывать 10 соединений одновременно, и более 10 запросов будут ожидать в очереди.

Чтобы запустить веб-сервер, нам нужно использовать следующий синтаксис –

var webserver = require (‘webserver’);

Давайте разберемся со свойством Port , которое используется для прослушивания запросов, отправляемых веб-серверу.

Phantomjs – свойства модуля веб-страницы

PhantomJS предоставляет довольно много свойств и методов, чтобы помочь нам взаимодействовать с содержимым внутри веб-страницы.

Команда require (“webpage”). Create () создает объект веб-страницы. Мы будем использовать этот объект для управления веб-страницей с помощью свойств и методов, перечисленных ниже.

var wpage = require("webpage").create();

В следующей таблице приведен список всех свойств веб-страницы, которые мы собираемся обсудить.

Phantomjs – свойства модуля файловой системы

Модуль файловой системы имеет множество API для работы с файлами и каталогами. Вы можете создать / написать и удалить файл / каталог. Чтобы начать использовать модуль файловой системы, вам необходимо указать ссылку на модуль fs .

var fs = require('fs');

Для модуля файловой системы доступны два свойства: Разделитель и Рабочий каталог . Позвольте нам понять их в деталях.

Phantomjs – свойства системного модуля

В этой главе мы обсудим различные свойства системного модуля PhantomJS.

Phantomjs – сетевой мониторинг

С помощью PhantomJS мы можем контролировать сеть и проверять поведение и производительность определенной веб-страницы. В PhantomJS есть обратные вызовы, то есть onResourceRequested и onResourceReceived , которые помогают отслеживать трафик для данной страницы.

Phantomjs – тестирование

PhantomJS имеет много API для веб-страницы, которая дает все подробности. PhantomJS может использоваться для тестирования, такого как получение содержимого страницы, совместное использование экрана, преобразование страницы в pdf и т. Д.

Вот некоторые из популярных фреймворков, которые могут работать с PhantomJS:

  • кофе мокко
  • жасмин
  • QUnit
  • Хиро
  • лайка
  • Buster.JS
  • WebDriver

Phantomjs options

The PhantomJS API contains a range of command line options that can be passed when executing the PhantomJS executable. These can also be passed in via the client before a request:

Post request

A basic POST request:

Response data

A standard response object gives you access to the following interface:

AccessorDescriptionReturn Type
getHeaders()Returns an array of all response headers.Array
getHeader(header)Returns the value for a specific response header e.g. Content-Type.Mixed
getStatus()The response status code e.g. 200.Integer
getContent()The raw page content of the requested page.String
getContentType()The content type of the requested page.String
getUrl()The URL of the requested page.String
getRedirectUrl()If the response was a redirect, this will return the redirect URL.String
isRedirect()Will return true if the response was a redirect or false otherwise.Boolean
getConsole()Returns an array of any javascript errors on the requested page along with a stack trace.Array

Note

If the response ever contains a status code of 0, chances are the request failed. Check the request debug log for more detailed information about what may have gone wrong.

Screen captures

You can save screen captures of a page to your local disk by creating a screen capture request and setting the path you wish to save the file to:

Set background color

You can force the background color of the requested page by setting a backgroundColor body style:

Set viewport size

You can easily set the viewport size for a request:

Setup

By default the PhantomJS library will look for the PhantomJS executable in the bin folder relative to where your script is running ~/bin/phantomjs. If the executable cannot be found or if the path to your PhantomJS executable differs from the default location, for example you have installed PhantomJS globally, you will need to define the path to your PhantomJS executable manually.

Note

The path must include the name of the PhantomJS executable in it, not just a path to the directory containing the executable.

Submitform.html

Следующий код показывает, как использовать файл submitform.html .

Как только форма отправлена, она отправляется на submitform.php .

Submitform.php

submitform.php просто печатает информацию о файлах.

Вышеуказанная программа генерирует следующий вывод .

Workingdirectory

Рабочий каталог – это каталог, в котором выполняется PhantomJS.

Автоматизация страницы

PhantomJS позволяет читать содержимое страницы с помощью его API. Это может помочь манипулировать DOM, использовать внешние библиотеки для выполнения требуемой задачи.

Близко

Метод close используется для закрытия веб-сервера.

Версия

Это дает версию PhantomJS, которая работает, и возвращает подробности в объекте. Например: {“major”: 2, “minor”: 1, “patch”: 1}

Выход

Вышеуказанная программа генерирует следующий вывод.

Для mac os x

Загрузите zip-файл PhantomJS, предназначенный для MAC OS, и извлеките содержимое. Как только содержимое загружено, переместите PhantomJS в – / usr / local / bin / . Выполните команду PhantomJS, т.е. phantomjs –v на терминале, и она должна дать вам описание версии PhantomJS.

Извлекать изображения со страницы

Следующая программа показывает, как вы можете использовать PhantomJS для извлечения изображений со страницы.

Изображений

Ниже приведены изображения для загрузки файла и отправки формы .

Конвертировать холст в изображение

Phantomjs может легко конвертировать холст в изображение. Посмотрите на следующий пример, чтобы понять, как это работает.

var page = require('webpage').create(); 
page.content = '<html><body><canvas id="surface" width="400" height="400"></canvas></body></html>'; 

page.evaluate(function() {
   var context,e1; 
   el = document.getElementById('surface'); 
   
   context = el.getContext('2d'); 
   context.font = "30px Comic Sans MS"; 
   context.fillStyle = "red"; 
   context.textAlign = "center"; 
   context.fillText("Welcome to PhantomJS ", 200, 200); 
   
   document.body.style.backgroundColor = 'white'; 
   document.body.style.margin = '0px'; 
}); 
page.render('canvas.png'); 
phantom.exit(); 

Вышеуказанная программа генерирует следующий вывод .

Метод появления

С помощью дочернего процесса spawn вы можете подписаться на его потоки stdout и stderr, чтобы получать данные в режиме реального времени.

Модуль дочернего процесса веб-страницы

Дочерний модуль процесса Phantomjs помогает взаимодействовать с подпроцессами и общаться с ними, используя stdin / stdout / stderr . Дочерние процессы могут использоваться для таких задач, как печать, отправка почты или для вызова программ, написанных на другом языке. Чтобы создать дочерний модуль процесса, вам нужны ссылки.

Например –

var process = require("child_process");

Мониторинг сети

Одной из важных функций PhantomJS является его использование для мониторинга сетевого подключения с использованием доступного API. PhantomJS разрешает проверку сетевого трафика; он подходит для проведения различного анализа поведения и производительности сети.

PhantomJS может использоваться для сбора данных о производительности веб-страницы в реальной среде. PhantomJS можно использовать с такими инструментами, как Yslow, для сбора показателей производительности любых веб-сайтов.

Операционные системы

Возвращает сведения об используемой операционной системе. Возвращает объект с архитектурой, именем ОС и версией.

Особенности phantomjs

Давайте теперь поймем функции, которые предлагает PhantomJS.

Печенье

Помогает добавлять и устанавливать куки в домен. Возвращает объект со всеми куки, доступными для домена.

Пид-регулятор

Это свойство возвращает идентификатор процесса.

Платформа

Это свойство возвращает платформу, над которой мы работаем.

Преобразование веб-страниц в pdf-файлы

PhantomJS также помогает конвертировать веб-страницы в PDF-файлы с добавленными в них верхними и нижними колонтитулами. Посмотрите на следующий пример, чтобы понять, как это работает.

Пример

Вот пример метода addcookie .

Пример – phantomjs с qunit

(function () {     
   var url, timeout,args = require('system').args, page = require('webpage').create(); 
   url = args[1]; 
   timeout = parseInt(10, 10); 
   
   page.onConsoleMessage = function (msg) {  
      //prints all the console messages 
      console.log(msg); 
   }; 
   page.onInitialized = function () {  // called when page is initialized 
      page.evaluate(callqunit); 
   }; 
   page.onCallback = function (message) { // called from  
      var result, failed; 
      
      if (message) {  
         if (message.name === 'QUnit.done') { 
            result = message.data; 
            failed = !result || !result.total || result.failed;  
            
            if (!result.total) { 
               console.error('No tests were executed'); 
            } 
            pageexit(failed ? 1 : 0); 
         } 
      } 
   };  
   page.open(url, function (status) { // opening page  
      if (status !== 'success') { 
         console.error('Unable to access network: '   status); 
         pageexit(1); 

      } else { 
         var checkqunit = page.evaluate(function () { 
            //evaluating page and chcking if qunit object 
               is present on the given page url 
            return (typeof QUnit === 'undefined' || !QUnit); 
         }); 
         
         if (checkqunit) { 
            console.error('Qunit scripts are not present on the page'); 
            pageexit(1); 
         }             
         
         //timeout of 10seconds is used otherwise message from console will get printed. 
         setTimeout(function () { 
            console.error('The specified timeout of '   timeout   ' seconds has expired. 
               Aborting...'); 
            pageexit(1); 
         }, timeout * 1000);           
      } 
   });  
   function callqunit() {

Пример 1 – найти скорость страницы

В этом примере мы будем использовать PhantomJS для определения скорости страницы для любого заданного URL-адреса страницы.

var page = require('webpage').create(), 
   system = require('system'), 
   t, address;  

if (system.args.length === 1) { 
   console.log('Usage: loadspeed.js <some URL>'); 
   phantom.exit(1); 
} else { 
   t = Date.now(); 
   address = system.args[1]; 
   
   page.open(address, function (status) { 
      if (status !== 'success') { 
         console.log('FAIL to load the address'); 
      } else { 
         t = Date.now() - t; 
         
         console.log('Page title is '   page.evaluate(function () { 
            return document.title; 
         })); 
         console.log('Loading time '   t   ' msec'); 
      } 
      phantom.exit(); 
   }); 
}

Вышеуказанная программа генерирует следующий вывод .

Пример 2 – отправка события клика на страницу

В следующем примере мы будем использовать PhantomJS для отправки события клика на страницу.

Пример 3 – отправить форму

В следующем примере показано, как отправить форму с помощью PhantomJS.

Разделитель

Он говорит вам разделитель, используемый для путей к файлам.

Синтаксис

Его синтаксис выглядит следующим образом –

phantom.addCookie ({ 
   "name" : "cookie_name",  
   "value" : "cookie_value", 
   "domain" : "localhost" 
});

Имя, значение, домен являются обязательными свойствами, которые необходимо добавить в функцию addcookie. Если какое-либо из этих свойств отсутствует в объектах cookie, этот метод завершится ошибкой.

  • name – указывает имя куки.

  • значение – указывает значение файла cookie, который будет использоваться.

  • домен – домен, к которому будет применен файл cookie.

name – указывает имя куки.

значение – указывает значение файла cookie, который будет использоваться.

домен – домен, к которому будет применен файл cookie.

Скриншот

PhantomJS помогает сделать снимок экрана указанной страницы и сохранить его как изображение в различных форматах, таких как PNG, JPEG, PDF и GIF. С помощью снимка экрана, это может легко помочь убедиться, что веб-контент в порядке.

PhantomJS предлагает свойства и методы, с помощью которых он позволяет разработчикам настраивать размер снимков экрана и указывать область, которую они хотят захватить.

Слушать

Метод server.listen принимает функцию port и callback с двумя аргументами, а именно: объект запроса и объектответа .

Объект запроса содержит следующие свойства:

Метод – определяет метод GET / POST.

URL – отображает запрошенный URL.

События веб-страницы модуля / обратные вызовы

Обратные вызовы, доступные с модулем веб-страницы, описаны в следующей таблице.

S.No Обратные звонки и описание
1onAlert ()

Этот обратный вызов вызывается, когда на странице есть предупреждение; обратный вызов принимает строку и ничего не возвращает.

2onCallback ()

OnCallback используется для передачи значений из веб-страницы в объект веб-страницы, и это делается с помощью метода window.callPhantom (), который внутренне вызывает функцию onCallback.

3onClosing ()

Это вызывается, когда окно закрывается с помощью метода page.close () или метода window.close ().

4onConfirm ()

Этот обратный вызов вызывается, когда на странице есть подтвержденное сообщение с ок / отмена.

5onConsoleMessage ()

Этот обратный вызов используется, когда на веб-странице используются консольные сообщения. Метод onConsoleMessage принимает 3 аргумента.

6OnError ()

Вызывается, когда есть ошибка JavaScript. Аргументами для onError являются msg и stack trace, который является массивом.

7onFilePicker ()

Это используется для загрузки файла, обратный вызов вызывается, когда пользователь хочет загрузить файл.

8onInitialized ()

Этот обратный вызов вызывается, когда страница вызывается перед загрузкой.

9onLoadFinished ()

Эта функция вызывается, когда открытая страница полностью загружена. У него есть один аргумент, который сообщает, когда загрузка была успешной или неудачной.

10onLoadStarted ()

Этот обратный вызов вызывается, когда страница начинает загружаться.

11onNavigationRequested ()

Этот обратный вызов сообщает, когда происходит событие навигации.

12onPageCreated ()

Этот обратный вызов вызывается, когда страница открывает новое дочернее окно.

13onPrompt ()

Этот обратный вызов вызывается, когда веб-страница вызывает запрос. Требуется 2 аргумента, сообщение и ответ. Возвращаемое значение является строкой.

14onResourceError ()

Этот обратный вызов вызывается, когда веб-страница не может загрузить файл.

15onResourceReceived ()

Этот обратный вызов вызывается при получении ресурса, запрашиваемого страницей.

16onResourceRequested ()

Эта функция вызывается, когда страница запрашивает ресурс.

17onResourceTimeout ()

Этот обратный вызов вызывается, когда истекает время запрашиваемого ресурса, когда используется settings.resourceTimeout.

18onUrlChanged ()

Вызывается, когда URL-адрес изменяется с текущего с помощью навигации. У него есть один аргумент для обратного вызова, который представляет собой новую строку URL targetUrl.

Этот обратный вызов вызывается, когда на странице есть предупреждение; обратный вызов принимает строку и ничего не возвращает.

OnCallback используется для передачи значений из веб-страницы в объект веб-страницы, и это делается с помощью метода window.callPhantom (), который внутренне вызывает функцию onCallback.

Это вызывается, когда окно закрывается с помощью метода page.close () или метода window.close ().

Этот обратный вызов вызывается, когда на странице есть подтвержденное сообщение с ок / отмена.

Этот обратный вызов используется, когда на веб-странице используются консольные сообщения. Метод onConsoleMessage принимает 3 аргумента.

Вызывается, когда есть ошибка JavaScript. Аргументами для onError являются msg и stack trace, который является массивом.

Это используется для загрузки файла, обратный вызов вызывается, когда пользователь хочет загрузить файл.

Этот обратный вызов вызывается, когда страница вызывается перед загрузкой.

Эта функция вызывается, когда открытая страница полностью загружена. У него есть один аргумент, который сообщает, когда загрузка была успешной или неудачной.

Этот обратный вызов вызывается, когда страница начинает загружаться.

Этот обратный вызов сообщает, когда происходит событие навигации.

Этот обратный вызов вызывается, когда страница открывает новое дочернее окно.

Этот обратный вызов вызывается, когда веб-страница вызывает запрос. Требуется 2 аргумента, сообщение и ответ. Возвращаемое значение является строкой.

Этот обратный вызов вызывается, когда веб-страница не может загрузить файл.

Этот обратный вызов вызывается при получении ресурса, запрашиваемого страницей.

Эта функция вызывается, когда страница запрашивает ресурс.

Этот обратный вызов вызывается, когда истекает время запрашиваемого ресурса, когда используется settings.resourceTimeout.

Вызывается, когда URL-адрес изменяется с текущего с помощью навигации. У него есть один аргумент для обратного вызова, который представляет собой новую строку URL targetUrl.

Тестирование без головы

PhantomJS помогает тестировать пользовательский интерфейс в командной строке. Хотя с помощью скриншота он может легко помочь найти ошибки в пользовательском интерфейсе. Иногда PhantomJS не может помочь с тестированием в одиночку.

PhantomJS можно использовать для проверки входов на сайты и проверки безопасности. PhantomJS может использоваться вместе с другими инструментами, такими как CasperJS, Mocha, Qunit, чтобы сделать тестирование более мощным.

Delay page render

Sometimes when saving a page to local disk you may want to wait until the page is completely loaded first. In this instance you can set a page render delay (in seconds) for the request:

Похожее:  Самый беззащитный — это Сапсан / Хабр

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *