PHP的webdriver 是由facebook公司写的浏览器驱动, 可以和python的webdriver一样自动化的操作浏览器,基本的使用和类名也差不多. 国内相关文档比较少,php的包管理确实没有python的方便.建议有能力的还是学学python比较好
开始:使用的是windows系统, 其他系统也是可以用的需要自己研究
一 环境配置
1. composer下 composer require php-webdriver/webdriver 安装包依赖
2. 我用的是谷歌浏览器,需要下载谷歌浏览器的外部驱动(ChromeDriver),python也是一样的.查看自己谷歌的版本,下载对应的驱动
3.需要安装Selenium(WEB自动化工具)Jdk selenium-server-standalone-3.8.1.jar
4.需要安装java环境要启动自动化工具
二 启动
1.启动自动化工具 cmd窗
java -jar selenium-server-standalone-3.8.1.jar -enablePassThrough false
2. 启动phpunit
bin/phpunit.bat phpunit.bat双击就可以
三demo代码
require 'vendor/autoload.php'; use Facebook\WebDriver\Remote\RemoteWebDriver; use Facebook\WebDriver\Remote\DesiredCapabilities; use Facebook\WebDriver\Remote\WebDriverBrowserType; use Facebook\WebDriver\WebDriverExpectedCondition; use Facebook\WebDriver\WebDriverBy; use Facebook\WebDriver\WebDriverDimension;
$host = 'http://localhost:4444/wd/hub'; putenv('webdriver.chrome.driver=' . getenv('CHROME_DRIVER_PATH')); $driver = RemoteWebDriver::create($host, DesiredCapabilities::chrome()); //实例谷歌化驱动 //这里就可以成功自动打开浏览器 $driver->get("百度一下,你就知道");
配合 $driver->findElements && $driver->executeScript
获取到内容和解决防爬问题
php webdriver主要用途方向是 php自动化操作测试,和一些反爬网站的的爬取
无反爬的网站建议使用phpSpider 框架,另个文章有介绍
结尾 faceBook开发文档