Небольшой список рецептов, ссылок и советов которые будут полезны при работе с Selenium, Webdriver или PhantomJS на PHP.
Webdriver PHP API cheatsheet
Как работать с ожиданием элементов
Работа со вкладками, алертами и фреймами
Так работать с Selenium Webdriver через прокси
Запуск Selenium-хаба
java -jar selenium-server-standalone-3.5.3.jar -role hub
Запуск Selenium-ноды
java -Dwebdriver.chrome.driver=chromedriver-jar selenium-server-standalone-3.5.3.jar -role webdriver -hub http://localhost:4444/grid/register -port 5558 -browser browserName=chrome,maxInstances=8
java -jar selenium-server-standalone-3.5.3.jar -Dwebdriver.chrome.driver=chromedriver
java -Dwebdriver.chrome.driver=chromedriver -jar selenium-server-standalone-3.5.3.jar
java -Dwebdriver.chrome.driver=chromedriver -jar selenium-server-standalone-3.5.3.jar -timeout 60 -browserTimeout 60
Запуск Selenium-хаба и ноды с конфиг-файлами
java -jar selenium-server-standalone.jar -role hub -hubConfig config-hub.json
java -jar selenium-server-standalone.jar -role node -nodeConfig nodeconfig.json
Пример файла config-hub.json:
{
"browserTimeout": 60,
"timeout": 60
}
Пример файла config-node.json:
{
"capabilities": [
{
"browserName": "chrome",
"maxInstances": 8
}
],
"maxSession": 8,
"port": 5558,
"hubPort": 4444,
"hubHost": "localhost"
}
Завершить процессы chromedriver в Windows 10
taskkill /F /IM chromedriver.exe
Установка и запуск PhantomJS
Для начала скачать нужный дистрибутив для своей ОС: http://phantomjs.org/download.html
yum install fontconfig
phantomjs --webdriver=4444
./phantomjs-2.1.1-linux-i686/bin/phantomjs --webdriver 4444 --proxy=host:port --proxy-auth=user:password --proxy-type=socks5
./phantomjs-2.1.1-linux-i686/bin/phantomjs --webdriver 4444 --proxy=host:port --proxy-type=http --proxy-auth=user:password --load-images=no --debug=true --disk-cache=true
Установка шрифтов для PhantomJS
yum install urw-fonts
yum install fontconfig freetype libfreetype.so.6 libfontconfig.so.1 libstdc++.so.6
Запуск пошагового скрипта в Codeception
./codecept.phar run --steps
Отключение поддержки IPv6 в Linux
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6