• EN
    RU

window/execute_open_file

execute_open_file($text, $path, $btn_text, $exactly=true, $thread=false)

Данная команда используется для обработки диалога открытия файла.
Так же стоит учитывать, что названия окон могут быть на разных языках, по умолчанию используются русский и английский языки. Если возникает необходимость изменения языка названия окна, то стоит воспользоваться папкой Helper, находящейся в корне программы, для изменения языка названия окна в текстовых документах.

Команда на вход принимает параметры:
  • $text – текст окна (заголовок) открытия файла (или его часть);
  • $path – путь который надо указать в этом диалоге (если используется несколько путей, то полные пути перечисляются через пробел и кавычки (как в примере));
  • $btn_text – текст кнопки (вместе с акселераторами);
  • $exactly – точное соответствие текста окна;
  • $thread – указывает запускать отдельный поток обработки открытия таких диалогов (в этом случае команда должна вызываться до появления диалога открытия файла).
После отработки команда возвращает результат своей работы в робот:
  • true – обработка произошла успешно;
  • false – произошли ошибки (входного файла не существует).





Пример использования (php)

<?php $xhe_host = "127.0.0.1:7013";
 
// подключим объект для управления роботом, если еще не подключен
if (!isset($path))
  $path="../../../Templates/init.php";
require($path);
 
// начало
echo "<hr><font color=blue>window->".basename (__FILE__)."</font><hr>";
 
while (true)
{
	// 1 
	echo "1. Перейдем на полигон: ";
	echo $browser->navigate("http://www.humanemulator.net/poligon/inputfile.html")."<br>";
	sleep(1);
 
	// 2  
	echo "2. Указали что при появлении диалога, задавать имя файла: ";
	echo $window->execute_open_file("ф", "test\\file.txt","&Открыть", false, true)."<br>";
 
	//  3 
	echo "3. Откроем диалог выбора файла: ";
	$obj = $inputfile->get_by_name("Name");
	echo($obj->focus()."\n");
	$obj->send_mouse_click();
	sleep(1);
 
	// 4  
	echo "4. Указали что при появлении диалога, задавать нескольок имен файлов: ";
	echo $window->execute_open_file("ф", "\"c:\\file1.txt\" \"c:\\file2.txt\" " , "&Открыть", false, true)."<br>";
 
	//  5 
	echo "5. Откроем диалог выбора файла: ";
	$obj = $inputfile->get_by_name("Name1");
	echo($obj->focus()."\n");
	$obj->send_mouse_click();
	sleep(2);
}
/* для селениум моделей
$path="C:\\222.txt";
$browser->navigate("https://the-internet.herokuapp.com/upload");
$window->execute_open_file("id:file-upload",$path,"");
$app->pause(0);
 
$browser->navigate("https://the-internet.herokuapp.com/upload");
$inputfile->get_by_number(0)->mouse_click(5,5);
sleep(2);
$window->execute_open_file("dlg:Открытие",$path,"");
$app->pause(0);
 
$browser->navigate("https://the-internet.herokuapp.com/upload");
$window->execute_open_file("xpath:/html/body/div[2]/div/div[1]/form/input[1]",$path,"");
$app->pause(0);*/
// конец
echo "<hr><br>";
 
// Quit
$app->quit();
?>