Страница 1 из 1

выбрать файл и нажать ОК для окна загрузки из flash

Добавлено: 25 апр 2011, 00:51
sas
как загрузить фотку - ввести имя файла и нажать ОК для окна загрузки файла из activex flash?
тут http://www.olx.ru/posting.php?src=8

вообще при клике на кнопке открывается диалоговое окно и работа сценария останавливается. как продолжить работу чтобы как вариант получить имена всех окон и кликнуть в координаты окна где поле ввода, послать нажатие paste и послать клик на ОК?

Re: выбрать файл и нажать ОК для окна загрузки из flash

Добавлено: 26 апр 2011, 01:29
igvard
вот у меня получился такой вот скрипт:

Код: Выделить всё

<?php

$xhe_host ="127.0.0.1:7010";

// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");

// navigate to google
$browser->navigate("http://www.olx.ru/posting.php?src=8");
// wait on browser
$browser->wait_for(30,1);

// установить фокус на ссылку что бы в браузере появилась нужная часть страницы
$anchor->set_focus_by_number(36);
sleep(1);
$mouse->click(270,75); // надо подобрать ваши координаты кнопки после установки фокуса на ссылку 
// для этого просто наведите курсор на кнопку после того как сработает установка фокуса на ссылку и посмотрите координаты в панели состояния программы
sleep(3);

//$keyboard->send_input("C:\\tmp.jpeg",$timeout=1) 
$keyboard->input("C:\\tmp.jpeg",1); // задаём путь
$keyboard->press_key_by_code(13); // жмём enter

// Quit
$app->quit();
?>
В следующую версию будет добавлена функция $window->execute_open_file

в самом коде для вашего случая функция будет выглядеть следующим образом:

Код: Выделить всё

$window->execute_open_file("Выберите файлы для отправки с помощью www.olx.ru","C:\\tmp.jpeg","&Открыть");
функция и её описание:
$window->execute_open_file($text,$path,$btn_text,$exactly=true);

$text - название диалога
$path - задаваемый путь к файлу
$btn_text - полное название кнопки на которую нужно нажать в завершении
$exactly - искать окно по всему тексту окна или только по части

Re: выбрать файл и нажать ОК для окна загрузки из flash

Добавлено: 26 апр 2011, 20:39
sas
функция интересная, будем ждать обновления, к сожалению у меня basic версия

первый вариант кажется не должен работать потому что сценарий останавливается до тех пор пока не закрою окно вручную. только после закрытия выполняется следующая команда - в вашем случае клик по координатам.

ОДНАКО!

решил проверить сценарий, и кнопка нажалась. теперь я непонимаю почему сегодня команда $mouse->click
выполнилась если вчера сценарий останавливался? почему сегодня он не остановился?

предполагаю что команды работающие с GUI встроенного браузера ждут когда доступ к GUI браузера освободится, а команды виндовые и типа эхо продалгажют работать. так?

так что спасибо. если можно еще разъяснить почему это работает.

Re: выбрать файл и нажать ОК для окна загрузки из flash

Добавлено: 28 апр 2011, 20:57
sas
в какой-то момент и теперь всегда окно ввода имени файла стало появлятся на заднем фоне. т.е. окно хумана остается на переднем плане. если сделать еще один клик на любой области браузера то окно выбора файла появляется и мигает заголовком типа "я тут, че, невидишь, закрой сперва меня". как сделать так чтобы окно выбора файла показывалось на переднем плане сразу?

Re: выбрать файл и нажать ОК для окна загрузки из flash

Добавлено: 29 апр 2011, 14:00
igvard
а хуман при вызове окна в каком состояние находится в свёрнутом или открытом?

Re: выбрать файл и нажать ОК для окна загрузки из flash

Добавлено: 01 май 2011, 00:21
sas
в открытом максимайзед