facebook/php-webdriver là một ứng dụng tuyệt vời cho selen và php.
Bạn có thể sử dụng nó để tự động hóa các tác vụ web (như OP muốn), hoặc bạn có thể chỉ cần tích hợp php-webdriver vào khung kiểm tra của bạn. Có một số dự án đã cung cấp điều này:
Install Tất cả mọi thứ
Tải về và cài đặt facebook/php-webdriver. composer require facebook/webdriver
Download Selenium & Bắt đầu. java -jar selenium-server-standalone-#.jar
Download Quick Java và đặt nó vào thư mục dự án của bạn.
Cách sử dụng
Trong ví dụ này, chúng tôi sử dụng phần mở rộng quickjava
để vô hiệu hóa tất cả mọi thứ trừ javascript
và cookies
.
Xem thêm các thiết lập lựa chọn sau đây: Ví dụ
https://github.com/ThatOneGuyDotNet/QuickJava/blob/master/defaults/preferences/defaults.js
Xem thêm các lệnh ở đây:
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
Thư viện [php-webdriver] (https://github.com/facebook/php-webdriver) đơn giản là đủ, và việc thiết lập có thể dễ dàng hơn với các công cụ như [Steward] (https://github.com)/lmc-eu/steward). Tôi sẽ đề nghị không lãng phí thời gian với Selenium IDE và chỉ cần viết kịch bản mong muốn ngay trong PHP. –