ikr / php-webdriver-journal
Facebook WebDriver 的日志代理对象
v0.1.4
2015-07-09 14:15 UTC
Requires
- php: >=5.4.0
- facebook/webdriver: 0.6.0
Requires (Dev)
- mockery/mockery: ^0.9.4
- phpunit/phpunit: ^4.7
This package is not auto-updated.
Last update: 2024-09-14 18:09:28 UTC
README
摘要
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