Мне нужно авторизоваться на прокси с селеном на Windows 7 с cygwin64. Я пытаюсь использовать AuthIt для входа в мой прокси.
$host = 'http://localhost:4444/wd/hub';
$c = array(
WebDriverCapabilityType::BROWSER_NAME => 'firefox',
WebDriverCapabilityType::PROXY => array(
'proxyType' => 'manual',
'httpProxy' => 'my.proxy.net:80'));
$driver = RemoteWebDriver::create($host, $c);
//LOOKS LIKE IT FREEZE HERE FOR 30 seconds!
// and is not going to go to 'exec'
$driver->get("http://www.whatismyip.com/");
$r = exec('../../bin/proxy_auth.exe', $a, $b);
куда proxy_auth.exe конвертируется скрипт AutoIt
WinWait("Authentication Required","",30)
WinActivate ("Authentication Required")
If WinExists("Authentication Required") Then
Send("log{TAB}")
Send("pwd{Enter}")
EndIf
Если я запускаю скрипты AutoIt как автономные — все работает нормально. Но в скрипте php он не находит окна.
При работе с окнами вы хотите установить следующие параметры:
#RequireAdmin Opt("WinSearchChildren", 1) ; 1=search children also
Opt("WinTitleMatchMode", 4) ; 4=advanced
Opt("WinDetectHiddenText", 1) ; 1=do detect
Также Послать() отправит нажатие клавиш в любое активное окно. Безопасный способ сделать это:
ControlSend ( "title", "text", controlID, "string" [, flag = 0] )
Других решений пока нет …