gpt4 book ai didi

php - 如何在 PHP 中使用 Selenium?

转载 作者:IT王子 更新时间:2023-10-29 00:01:00 28 4
gpt4 key购买 nike

我想使用 Selenium 来自动执行一些 Web 任务(不是为了测试)。我想我已经安装了 Selenium RC 服务器,但无法编写“测试脚本”,因为我无法在 PHP 中找到客户端驱动程序(请参阅:http://seleniumhq.org/download/)。

有没有办法让我在 PHP 中使用 Selenium?这似乎表明我需要 PHPUnit http://www.phpunit.de/manual/current/en/selenium.html .我只想自动执行一些任务,而不是参与全套测试。

最佳答案

facebook/php-webdriver是一个很棒的 selenium 和 php 客户端。

您可以使用它来自动执行 Web 任务(如 OP 所愿),或者您可以简单地将 php-webdriver 集成到您的测试框架中。已经有一些项目提供了这个:


安装一切

  1. 下载并安装facebook/php-webdriver . composer 需要 facebook/webdriver

  2. Download Selenium & 启动它。 java -jar selenium-server-standalone-#.jar

  3. Download Quick Java并将其放入您的项目目录。


用法

在此示例中,我们使用扩展程序 quickjava 来禁用除 javascriptcookies 之外的所有内容。

在此处查看更多偏好设置:
https://github.com/ThatOneGuyDotNet/QuickJava/blob/master/defaults/preferences/defaults.js

在此处查看更多示例命令:
https://github.com/facebook/php-webdriver/wiki/Example-command-reference

use Facebook\WebDriver\Firefox\FirefoxProfile;
use Facebook\WebDriver\Firefox\FirefoxDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;

// Change this to the path of you xpi
$extensionPath = $this->container->getParameter('kernel.root_dir').'/../bin/selenium/quickjava-2.0.6-fx.xpi';

// Build our firefox profile
$profile = new FirefoxProfile();
$profile->addExtension($extensionPath);
$profile->setPreference('thatoneguydotnet.QuickJava.curVersion', '2.0.6.1');
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.Images', 2);
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.AnimatedImage', 2);
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.CSS', 2);
//$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.Cookies', 2);
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.Flash', 2);
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.Java', 2);
//$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.JavaScript', 2);
$profile->setPreference("thatoneguydotnet.QuickJava.startupStatus.Silverlight", 2);

// Create DC + Driver
$dc = DesiredCapabilities::firefox();
$dc->setCapability(FirefoxDriver::PROFILE, $profile);

$driver = RemoteWebDriver::create($host, $dc);
$driver->get('http://stackoverflow.com');

// Do stuff - https://github.com/facebook/php-webdriver/wiki/Example-command-reference
//$driver->findElement(WebDriverBy::id("element-id"));

// The HTML Source code
$html = $driver->getPageSource();

// Firefox should be open and you can see no images or css was loaded

关于php - 如何在 PHP 中使用 Selenium?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6590360/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com