<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://178.140.10.58:8080/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://178.140.10.58:8080/feed.php">
        <title>Библиотека знаний - node</title>
        <description>Заметки IT программиста</description>
        <link>http://178.140.10.58:8080/</link>
        <image rdf:resource="http://178.140.10.58:8080/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-04-16T22:00:57+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=node:casperjs"/>
                <rdf:li rdf:resource="http://178.140.10.58:8080/doku.php?id=node:nightmarejs"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://178.140.10.58:8080/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>Библиотека знаний</title>
        <link>http://178.140.10.58:8080/</link>
        <url>http://178.140.10.58:8080/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=node:casperjs">
        <dc:format>text/html</dc:format>
        <dc:date>2016-04-28T15:13:49+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>CasperJS</title>
        <link>http://178.140.10.58:8080/doku.php?id=node:casperjs</link>
        <description>&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:node&amp;amp;do=showtag&amp;amp;tag=node&quot; class=&quot;wikilink1&quot; title=&quot;tag:node&quot; rel=&quot;tag&quot;&gt;node&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:framework&amp;amp;do=showtag&amp;amp;tag=framework&quot; class=&quot;wikilink1&quot; title=&quot;tag:framework&quot; rel=&quot;tag&quot;&gt;framework&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:javascript&amp;amp;do=showtag&amp;amp;tag=javascript&quot; class=&quot;wikilink1&quot; title=&quot;tag:javascript&quot; rel=&quot;tag&quot;&gt;javascript&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:phantomjs&amp;amp;do=showtag&amp;amp;tag=phantomjs&quot; class=&quot;wikilink1&quot; title=&quot;tag:phantomjs&quot; rel=&quot;tag&quot;&gt;phantomjs&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:crawler&amp;amp;do=showtag&amp;amp;tag=crawler&quot; class=&quot;wikilink1&quot; title=&quot;tag:crawler&quot; rel=&quot;tag&quot;&gt;crawler&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;casperjs&quot;&gt;CasperJS&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;http://178.140.10.58:8080/lib/exe/detail.php?id=node%3Acasperjs&amp;amp;media=node:casperjs-logo.png&quot; class=&quot;media&quot; title=&quot;node:casperjs-logo.png&quot;&gt;&lt;img src=&quot;http://178.140.10.58:8080/lib/exe/fetch.php?media=node:casperjs-logo.png&quot; class=&quot;medialeft&quot; align=&quot;left&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://docs.casperjs.org/&quot; class=&quot;urlextern&quot; title=&quot;http://docs.casperjs.org/&quot; rel=&quot;ugc nofollow&quot;&gt;http://docs.casperjs.org/&lt;/a&gt;&lt;br/&gt;

&lt;a href=&quot;https://github.com/n1k0/casperjs&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/n1k0/casperjs&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/n1k0/casperjs&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
CasperJS – вспомогательный инструмент написанный на JavaScript как обертка PhantomJS. 
На официальном сайте перечислены следующие основные возможности:
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 определение и порядок итераций браузера
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 заполнение и отправка форм
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 клик и переход по ссылкам
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 создание скриншотов страницы и ее части
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 удаленное тестирование DOM
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 логирование событий
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 загрузка ресурсов и подключение библиотек
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 написание функциональных тестов и сохранение в формате JUnit XML
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 Допиливание веб контента
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;CasperJS&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;casperjs&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;54-1039&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;установка&quot;&gt;Установка&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;npm &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; phantomjs casperjs&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;1040-1124&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;документация&quot;&gt;Документация&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1125-1162&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;функции_ожидания&quot;&gt;Функции ожидания&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 wait() – пауза на заданный промежуток времени, и при необходимости 2 параметр калбек-функция по завершению таймера 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 waitfor() – ожидает, пока функция возвратит True, затем выполняет следующий шаг
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 waitForAlert() – ожидает, пока вызовется предупреждение JavaScript
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 waitForPopup() – ожидает всплытия попуп окна
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 waitForResource() – ожидает загрузки ресурса
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 waitForUrl() – ожидает загрузки указанной страницы (в качестве параметра regexp)
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 waitForSelector() – ожидает пока не загрузится страница содержащая селектор (в качестве параметра CSS3)
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 waitWhileSelector() – 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 waitForSelectorTextChange() – 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 waitForText() – ожидает вывода текста на странице
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 waitUntilVisible() – 
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 waitWhileVisible() – 
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0424\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0444\u0443\u043d\u043a\u0446\u0438\u0438_\u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1163-2331&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;библиотеки&quot;&gt;Библиотеки&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2332-2363&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit6&quot; id=&quot;php_casperjs&quot;&gt;PHP Casperjs&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
Полная эмуляция браузера в PHP
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/alwex/php-casperjs&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/alwex/php-casperjs&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/alwex/php-casperjs&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;https://github.com/DiceHoldingsInc/casperjs-php-driver&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/DiceHoldingsInc/casperjs-php-driver&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/DiceHoldingsInc/casperjs-php-driver&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;PHP Casperjs&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;php_casperjs&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2364-2542&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;статьи&quot;&gt;Статьи&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://zhigalov.github.io/testable-code-02/&quot; class=&quot;urlextern&quot; title=&quot;http://zhigalov.github.io/testable-code-02/&quot; rel=&quot;ugc nofollow&quot;&gt;http://zhigalov.github.io/testable-code-02/&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u0421\u0442\u0430\u0442\u044c\u0438&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u0441\u0442\u0430\u0442\u044c\u0438&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;2543-2617&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;проекты&quot;&gt;Проекты&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://slimerjs.org/&quot; class=&quot;urlextern&quot; title=&quot;http://slimerjs.org/&quot; rel=&quot;ugc nofollow&quot;&gt;http://slimerjs.org/&lt;/a&gt; - &lt;a href=&quot;https://github.com/laurentj/slimerjs&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/laurentj/slimerjs&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/laurentj/slimerjs&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u041f\u0440\u043e\u0435\u043a\u0442\u044b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u043f\u0440\u043e\u0435\u043a\u0442\u044b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;2618-&amp;quot;} --&gt;</description>
    </item>
    <item rdf:about="http://178.140.10.58:8080/doku.php?id=node:nightmarejs">
        <dc:format>text/html</dc:format>
        <dc:date>2016-04-28T15:14:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Nightmare</title>
        <link>http://178.140.10.58:8080/doku.php?id=node:nightmarejs</link>
        <description>&lt;div class=&quot;tags&quot;&gt;&lt;span&gt;
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:node&amp;amp;do=showtag&amp;amp;tag=node&quot; class=&quot;wikilink1&quot; title=&quot;tag:node&quot; rel=&quot;tag&quot;&gt;node&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:framework&amp;amp;do=showtag&amp;amp;tag=framework&quot; class=&quot;wikilink1&quot; title=&quot;tag:framework&quot; rel=&quot;tag&quot;&gt;framework&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:javascript&amp;amp;do=showtag&amp;amp;tag=javascript&quot; class=&quot;wikilink1&quot; title=&quot;tag:javascript&quot; rel=&quot;tag&quot;&gt;javascript&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:phantomjs&amp;amp;do=showtag&amp;amp;tag=phantomjs&quot; class=&quot;wikilink1&quot; title=&quot;tag:phantomjs&quot; rel=&quot;tag&quot;&gt;phantomjs&lt;/a&gt;,
	&lt;a href=&quot;http://178.140.10.58:8080/doku.php?id=tag:crawler&amp;amp;do=showtag&amp;amp;tag=crawler&quot; class=&quot;wikilink1&quot; title=&quot;tag:crawler&quot; rel=&quot;tag&quot;&gt;crawler&lt;/a&gt;
&lt;/span&gt;&lt;/div&gt;

&lt;h1 class=&quot;sectionedit1&quot; id=&quot;nightmare&quot;&gt;Nightmare&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt;
 &lt;a href=&quot;http://www.nightmarejs.org/&quot; class=&quot;urlextern&quot; title=&quot;http://www.nightmarejs.org/&quot; rel=&quot;ugc nofollow&quot;&gt;http://www.nightmarejs.org/&lt;/a&gt; - &lt;a href=&quot;https://github.com/segmentio/nightmare&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/segmentio/nightmare&quot; rel=&quot;ugc nofollow&quot;&gt;https://github.com/segmentio/nightmare&lt;/a&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;co4&quot;&gt;$ &lt;/span&gt;npm &lt;span class=&quot;kw2&quot;&gt;install&lt;/span&gt; nightmare&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Nightmare&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;nightmare&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;54-&amp;quot;} --&gt;</description>
    </item>
</rdf:RDF>
