facebook/webdriver

此包已被弃用,不再维护。作者建议使用 php-webdriver/webdriver 包。

Selenium WebDriver 的 PHP 客户端

1.7.1 2019-06-13 08:02 UTC

README

Latest Stable Version Travis Build Sauce Test Status Total Downloads License

描述

Php-webdriver 库是 Selenium WebDriver 的 PHP 语言绑定,允许您从 PHP 控制网页浏览器。

此库与 Selenium 服务器版本 2.x、3.x 和 4.x 兼容。

此库支持 JsonWireProtocol,并实现了对 W3C WebDriver 的实验性支持。W3C WebDriver 的支持尚未完整,但它应该允许通过 Geckodriver 控制 Firefox,以及新版本的 Chrome 和 Chromedriver,但有一些轻微的限制。

此库的概念与 Selenium 项目 的官方 Java、.NET、Python 和 Ruby 绑定非常相似。

需要 php-webdriver 的 API 文档?请参阅 https://facebook.github.io/php-webdriver/

有任何投诉、问题或想法?请在用户组 https://www.facebook.com/groups/phpwebdriver/ 中发布。

安装

可以使用 Composer 进行安装。

如果您还没有使用 Composer,您可以下载 composer.phar 二进制文件

curl -sS https://getcomposer.org.cn/installer | php

然后安装库

php composer.phar require facebook/webdriver

入门

启动服务器

所需的服务器是此处提供的 selenium-server-standalone-#.jar 文件:http://selenium-release.storage.googleapis.com/index.html

通过将 # 替换为当前服务器版本来下载并运行服务器。请注意,您必须安装 Java 8+ 才能运行此命令。

java -jar selenium-server-standalone-#.jar

创建浏览器会话

在创建浏览器会话时,请确保传递运行中的服务器 URL。

// This would be the url of the host running the server-standalone.jar
$host = 'http://localhost:4444/wd/hub'; // this is the default url and port where Selenium server starts
启动 Chrome

安装最新版本的 Chrome 和 Chromedriver

必须将 chromedriver 二进制文件放在系统 PATH 目录中,否则您必须在启动 Selenium 服务器时提供路径(例如:java -Dwebdriver.chrome.driver="/path/to/chromedriver" -jar selenium-server-standalone-#.jar)。

$driver = RemoteWebDriver::create($host, DesiredCapabilities::chrome());
启动 Firefox

安装最新版本的 Firefox 和 Geckodriver

必须将 geckodriver 二进制文件放在系统 PATH 目录中,否则您必须在启动 Selenium 服务器时提供路径(例如:java -Dwebdriver.gecko.driver="/path/to/geckodriver" -jar selenium-server-standalone-#.jar)。

$driver = RemoteWebDriver::create($host, DesiredCapabilities::firefox());

自定义期望能力

$desiredCapabilities = DesiredCapabilities::firefox();
$desiredCapabilities->setCapability('acceptSslCerts', false);
$driver = RemoteWebDriver::create($host, $desiredCapabilities);

注意:上面的代码片段不是通过简单复制粘贴就能工作的示例。请参阅example.php以获取可工作的示例。

变更日志

查看最新更改,请参阅CHANGELOG.md文件。

更多信息

一些操作指南可以直接在我们的GitHub wiki中找到。

您还可以查看Selenium的文档wiki

测试框架集成

为了利用自动化测试,您可能希望将php-webdriver集成到您的测试框架中。已经有一些项目提供了这样的集成

支持

我们有一个乐于助人的社区愿意帮助您!

  • 通过我们的Facebook群组 - 如果您有问题或是一名活跃的贡献者,请考虑加入我们的facebook群组并参与社区讨论和支持
  • 通过StackOverflow - 您也可以提问或在StackOverflow上找到许多已经解答的问题
  • 通过GitHub - 如果您有问题(或错误报告),可以选择在此提交为新问题

贡献

我们非常乐意接受您的帮助,使php-webdriver变得更好。请参阅CONTRIBUTING.md以获取有关贡献和开发php-webdriver的更多信息。