ikr/php-webdriver-journal

Facebook WebDriver 的日志代理对象

v0.1.4 2015-07-09 14:15 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:09:28 UTC


README

Build Status

摘要

Facebook WebDriver 的日志代理。封装一个 WebDriver 实例,并在原有方法调用中添加截图和捕获浏览器日志消息的功能。因此,创建了一个 日志,记录了执行浏览器会话的所有内容:包含嵌入式截图、DOM查询记录、控制台消息等。

为什么?

我们使用 Selenium + PhantomJS(不知道为什么 PhantomJS 本身就不够用)实现了一个自动化的无头屏幕抓取工具。有时它会出现问题:票据订单失败、选择错误的票据类型,或者孩子名字与成人名字混淆。这个工具被用来简化此类失败的调试。

安装

$ composer require ikr/php-webdriver-journal

API

$driver = \RemoteWebDriver::create(
    $seleniumHubUrl,
    \DesiredCapabilities::phantomjs()
);

$wrappedDriver = new \WebDriverJournal\WebDriverProxy(
    $driver,

    new \WebDriverJournal\Probe(
        $driver,

        new \WebDriverJournal\Journal(
            new \WebDriverJournal\DirectoryFilesWriter(
                '/tmp/web-driver-journals',
                $browserSessionIdOfYourChoice
            )
        )
    )
);

$wrappedDriver->manage()->window()->setSize(new \WebDriverDimension(1024, 1024));
$wrappedDriver->manage()->timeouts()->implicitlyWait(8);

$wrappedDriver->get('https://ikr.su/');
$wrappedDriver->findElement(\WebDriverBy::id('btn-next'))->click();
// ...
$wrappedDriver->quit();

成熟度

仍然处于实验阶段:v0.1.x