Небольшой список рецептов, ссылок и советов которые будут полезны при работе с 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