send_key

send_key(key, is_key=false, ctrl=false, alt=false, shift=false)

Данная команда позволяет послать ввод клавиши в браузер, даже если он скрыт.

Команда на вход принимает параметры:
  • key – клавиша, ввод которой будет эмулирован. (string) С версии 4.9.17 добавлены аббревиатуры VK_UP,VK_DOWN,VK_LEFT,VK_RIGHT,VK_HOME,VK_END,VK_PAGEUP,VK_PAGEDOWN,VK_TAB,VK_ENTER,VK_SPACE,VK_ESC для эмуляции управляющих клавиш
  • is_key – при false, интерпретирует параметр key как код клавиши а не саму клавишу
  • ctrl – сочетать ли клавишу с Ctrl
  • alt – сочетать ли клавишу с Alt
  • shift – сочетать ли клавишу с Shift

Если во время работы этой функции нажать Ctrl (или эмулировать нажатие через команды set_ctrl_prefix) то посланная клавиша будет интерпретироваться как набор горячих клавиш для rBotа.


После отработки команда возвращает результат своей работы в робот:
  • true – успешно эмулировали ввод заданной клавиши(boolean)
  • false – операция не произведена (boolean)



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

<?php $xhe_host = "127.0.0.1:5002";
 
$PHP_Use_Trought_Shell=false;
 
// подключим функциональные объекты, если еще не подключен
if (!isset($path))
  $path="../../../Templates/init.php";
require($path);
 
// начало
echo "<hr><font color=blue>keyboard->".basename (__FILE__)."</font><hr>";
 
// 1 
echo "1. Перейдем на полигон : ";
echo $browser->navigate("http://www.rpa-bot.ru/wiki/poligon/listbox.html")."<br>";
 
// 2 
echo "2. Зададим фокус на 4 листбокс и пошлем клавишу пробела: ";
echo $listbox->set_focus_by_number(4)." ";
echo $keyboard->send_key(VK_SPACE)."\n";
sleep(2);
 
// 3 		
echo "3. Пошлем клавишу вниз : ";
echo $keyboard->send_key(VK_DOWN)."\n";
sleep(2);
 
// 4 
echo "4. Пошлем клавишу вниз : ";
echo $keyboard->send_key(VK_DOWN)."\n";
sleep(2);
 
// 5 
echo "5. Пошлем клавишу вверх : ";
echo $keyboard->send_key(VK_UP)."\n";
sleep(2);
 
// 6 
echo "6. Пошлем клавишу page down : ";
echo $keyboard->send_key(VK_PAGEDOWN)."\n";
sleep(2);
 
// 7 
echo "7. Пошлем клавишу page up : ";
echo $keyboard->send_key(VK_PAGEUP)."\n";
sleep(2);
 
// 8 
echo "8. Пошлем клавишу end : ";
echo $keyboard->send_key(VK_END)."\n";
sleep(2);
 
// 9 
echo "9. Пошлем клавишу home : ";
echo $keyboard->send_key(VK_HOME)."\n";
sleep(2);
 
// 10 
echo "10. Пошлем клавишу tab : ";
echo $keyboard->send_key(VK_TAB)."\n";
 
// конец
echo "<hr><br>";
 
echo("////////////////////////////////////////////////////////////////////<br><br>");
 
// 1 
echo "1. Перейдем на яндекс : ";
echo $browser->navigate("http://ya.ru")."<br>";
 
// 2 
echo "2. Зададим фокус на строку поиска : ";
echo $input->set_focus_by_number(0)."<br>";
 
// 3 
echo "3. Введем заданный текст : ";
echo $keyboard->send_input("teststring")."<br>";
 
sleep(2);
 
// выделим то что скопровали
$input->get_by_number(0)->send_mouse_click(10,10);
$input->get_by_number(0)->send_mouse_double_click(10,10);
 
// 4 
echo "4. Вырежем выделенный текст в буффер : ";
echo $keyboard->send_key("88",false,true)."<br>";
 
// 5 
echo "5. Получим текст в буффере обмена : ";
echo $clipboard->get_text()."<br>";
 
// конец
echo "<hr><br>";
 
echo("////////////////////////////////////////////////////////////////////<br><br>");
 
// 1 
echo "1. Перейдем на полигон : ";
echo $browser->navigate("http://www.rpa-bot.ru/wiki/poligon/anchor.html")."<br>";
 
// 2  
echo "2. Получим коордианты элемента который можно выделить по двойному щелчку : ";
$x=$element->get_x_by_inner_text("Ссылки во Frame",false);
$y=$element->get_y_by_inner_text("Ссылки во Frame",false);
echo $x."x".$y."<br>";
 
// 3 
echo "3. Выделим элемент : ";
echo $mouse->send_click($x,$y)." ";
echo $mouse->send_double_click($x,$y)."<br>";
 
// 4 
echo "4. Скопируем выделенный текст Ctrl+Insert (45) : ";
echo $keyboard->send_key("45",false,true)."\n";
 
// 5 
echo "5. Получим скопированный текст : ";
echo $clipboard->get_text(true);
 
// конец
echo "<hr><br>";
 
echo("////////////////////////////////////////////////////////////////////<br><br>");
 
// 1 
echo "1. Закинем текст в буффер : ";
echo $clipboard->put_text("seo")."<br>";
 
// 2 
echo "2. Перейдем на яндекс : ";
echo $browser->navigate("http://ya.ru")."<br>";
 
// 3 
echo "3. Зададим фокус на строку поиска : ";
echo $input->set_focus_by_number(0)."<br>";
 
// 4 
echo "4. Вставим текст с буффера : Ctrl + v (86)  : ";
echo $keyboard->send_key("86",false,true)."<br>";
 
// конец
echo "<hr><br>";
 
// Quit
$app->quit();
?>

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

#region using
 
using System;
using System.Diagnostics;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Text;
using System.Threading;
 
using XHE;
using XHE.XHE_DOM;
using XHE.XHE_System;
using XHE.XHE_Window;
using XHE.XHE_Web;
 
#endregion
 
 class Program:XHEScript
 {
	  static void Main(string[] args)
	  {
			// init XHE
			server="127.0.0.1:7026";
			InitXHE();
 
			// начало
			echo("<hr><font color=blue>keyboard.send_key</font><hr>");
 
			// 1 шаг
			echo("1. Перейдем на яндекс : ");
			echo(browser.navigate("http://ya.ru")+"<br>");
 
			// 2 шаг
			echo("2. Зададим фокус на строку поиска : ");
			echo(input.set_focus_by_number(0)+"<br>");
 
			// 3 шаг
			echo("3. Сделаем поиск SR (код 83+92+13) : ");
			keyboard.set_current_language("en");
			echo(keyboard.send_key("83")+" ");
			echo(keyboard.send_key("82")+" ");
			echo(keyboard.send_key("13",false));
 
			// конец
			echo("<hr><br>");
 
			app.quit();            
	  }
}

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

// подключим функциональные объекты, если еще не подключен
xhe_host="127.0.0.1:7010";
echo=require("../../../Templates JS/init.js");
 
// начало
echo("<hr><font color=blue>keyboard.send_key</font><hr>");
 
// 1 шаг
echo("1. Перейдем на полигон : ");
echo(browser.navigate("http://www.rpa-bot.ru/wiki/poligon/listbox.html")+"<br>");
 
// 2 шаг
echo("2. Зададим фокус на 4 листбокс и пошлем клавишу пробела: ");
echo(listbox.set_focus_by_number(4)+" ");
echo(keyboard.send_key(VK_SPACE)+"\n");
browser.sleep(2);
 
// 3 шаг		
echo("3. Пошлем клавишу вниз : ");
echo(keyboard.send_key(VK_DOWN)+"\n");
browser.sleep(2);
 
// 4 шаг
echo("4. Пошлем клавишу вниз : ");
echo(keyboard.send_key(VK_DOWN)+"\n");
browser.sleep(2);
 
// 5 шаг
echo("5. Пошлем клавишу вверх : ");
echo(keyboard.send_key(VK_UP)+"\n");
browser.sleep(2);
 
// 6 шаг
echo("6. Пошлем клавишу page down : ");
echo(keyboard.send_key(VK_PAGEDOWN)+"\n");
browser.sleep(2);
 
// 7 шаг
echo("7. Пошлем клавишу page up : ");
echo(keyboard.send_key(VK_PAGEUP)+"\n");
browser.sleep(2);
 
// 8 шаг
echo("8. Пошлем клавишу end : ");
echo(keyboard.send_key(VK_END)+"\n");
browser.sleep(2);
 
// 9 шаг
echo("9. Пошлем клавишу home : ");
echo(keyboard.send_key(VK_HOME)+"\n");
browser.sleep(2);
 
// 10 шаг
echo("10. Пошлем клавишу tab : ");
echo(keyboard.send_key(VK_TAB)+"\n");
 
// конец
echo("<hr><br>");
 
echo("////////////////////////////////////////////////////////////////////<br><br>");
 
// 1 шаг
echo("1. Перейдем на яндекс : ");
echo(browser.navigate("http://ya.ru")+"<br>");
 
// 2 шаг
echo("2. Зададим фокус на строку поиска : ");
echo(input.set_focus_by_number(0)+"<br>");
 
// 3 шаг
echo("3. Введем заданный текст : ");
echo(keyboard.send_input("teststring")+"<br>");
browser.sleep(2);
 
// выделим то что скопровали
input.get_by_number(0).send_mouse_click(10,10);
input.get_by_number(0).send_mouse_double_click(10,10);
 
// 4 шаг
echo("4. Вырежем выделенный текст в буффер : ");
echo(keyboard.send_key("88",true,true)+"<br>");
 
// 5 шаг
echo("5. Получим текст в буффере обмена : ");
echo(clipboard.get_text()+"<br>");
 
// конец
echo("<hr><br>");
 
echo("////////////////////////////////////////////////////////////////////<br><br>");
 
// 1 шаг
echo("1. Перейдем на полигон : ");
echo(browser.navigate("http://www.rpa-bot.ru/wiki/poligon/anchor.html")+"<br>");
 
// 2 шаг 
echo("2. Получим коордианты элемента который можно выделить по двойному щелчку : ");
x=element.get_x_by_inner_text("Ссылки во Frame",false);
y=element.get_y_by_inner_text("Ссылки во Frame",false);
echo("x="+x+" y="+y+"<br>");
 
// 3 шаг
echo("3. Выделим элемент : ");
echo(mouse.send_click(21,384)+" ");
echo(mouse.send_double_click(21,384)+"<br>");
 
// 4 шаг
echo("5. Скопируем выделенный текст : ");
echo(keyboard.send_key("67",true,true)+"\n");
 
// 5 шаг
echo("5. Получим скопированный текст : ");
echo(clipboard.get_text(true));
 
// конец
echo("<hr><br>");
 
echo("////////////////////////////////////////////////////////////////////<br><br>");
 
// 1 шаг
echo("1. Закинем текст в буффер : ");
echo(clipboard.put_text("seo")+"<br>");
 
// 2 шаг
echo("2. Перейдем на яндекс : ");
echo(browser.navigate("http://ya.ru")+"<br>");
 
// 3 шаг
echo("3. Зададим фокус на строку поиска : ");
echo(input.set_focus_by_number(0)+"<br>");
 
// 4 шаг
echo("4. Вставим текст с буффера : ");
echo(keyboard.send_key("86",true,true)+"<br>");
 
// конец
echo("<hr><br>");
 
// Quit
app.quit();

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

# Additional paths
import sys
sys.path.insert(0, '../../../Templates PY/')
 
xhe_host = "127.0.0.1:7010"
from xweb_human_emulator import *
 
# начало
echo("<hr><font color=blue>keyboard.xxxxxxxxx</font><hr>")
 
# 1 
echo("1. Перейдем на полигон : ")
echo(browser.navigate("http://www.rpa-bot.ru/wiki/poligon/listbox.html"),"<br>")
 
# 2 
echo("2. Зададим фокус на 4 листбокс и пошлем клавишу пробела: ")
echo(listbox.set_focus_by_number(4)," ")
echo(keyboard.send_key(VK_SPACE),"\n")
sleep(2)
 
# 3 		
echo("3. Пошлем клавишу вниз : ")
echo(keyboard.send_key(VK_DOWN),"\n")
sleep(2)
 
# 4 
echo("4. Пошлем клавишу вниз : ")
echo(keyboard.send_key(VK_DOWN),"\n")
sleep(2)
 
# 5 
echo("5. Пошлем клавишу вверх : ")
echo(keyboard.send_key(VK_UP),"\n")
sleep(2)
 
# 6 
echo("6. Пошлем клавишу page down : ")
echo(keyboard.send_key(VK_PAGEDOWN),"\n")
sleep(2)
 
# 7 
echo("7. Пошлем клавишу page up : ")
echo(keyboard.send_key(VK_PAGEUP),"\n")
sleep(2)
 
# 8 
echo("8. Пошлем клавишу end : ")
echo(keyboard.send_key(VK_END),"\n")
sleep(2)
 
# 9 
echo("9. Пошлем клавишу home : ")
echo(keyboard.send_key(VK_HOME),"\n")
sleep(2)
 
# 10 
echo("10. Пошлем клавишу tab : ")
echo(keyboard.send_key(VK_TAB),"\n")
 
# конец
echo("<hr><br>")
 
echo("##################################<br><br>")
 
# 1 
echo("1. Перейдем на яндекс : ")
echo(browser.navigate("http://ya.ru"),"<br>")
 
# 2 
echo("2. Зададим фокус на строку поиска : ")
echo(input.set_focus_by_number(0),"<br>")
 
# 3 
echo("3. Введем заданный текст : ")
echo(keyboard.send_input("teststring"),"<br>")
 
sleep(2)
 
# выделим то что скопровали
input.get_by_number(0).send_mouse_click(10,10)
input.get_by_number(0).send_mouse_double_click(10,10)
 
# 4 
echo("4. Вырежем выделенный текст в буффер : ")
echo(keyboard.send_key("88",true,true),"<br>")
 
# 5 
echo("5. Получим текст в буффере обмена : ")
echo(clipboard.get_text(),"<br>")
 
# конец
echo("<hr><br>")
 
echo("##################################<br><br>")
 
# 1 
echo("1. Перейдем на полигон : ")
echo(browser.navigate("http://www.rpa-bot.ru/wiki/poligon/anchor.html"),"<br>")
 
# 2  
echo("2. Получим коордианты элемента который можно выделить по двойному щелчку : ")
x=element.get_x_by_inner_text("Ссылки во Frame",false)
y=element.get_y_by_inner_text("Ссылки во Frame",false)
echo(x," x ")
echo(y,"<br>")
 
# 3 
echo("3. Выделим элемент : ")
echo(mouse.send_click(x,y)," ")
echo(mouse.send_double_click(x,y),"<br>")
 
# 4 
echo("4. Скопируем выделенный текст Ctrl+Insert (45) : ")
echo(keyboard.send_key("45",true,true),"\n")
 
# 5 
echo("5. Получим скопированный текст : ")
echo(clipboard.get_text())
 
# конец
echo("<hr><br>")
 
echo("##################################<br><br>")
 
# 1 
echo("1. Закинем текст в буффер : ")
echo(clipboard.put_text("seo"),"<br>")
 
# 2 
echo("2. Перейдем на яндекс : ")
echo(browser.navigate("http://ya.ru"),"<br>")
 
# 3 
echo("3. Зададим фокус на строку поиска : ")
echo(input.set_focus_by_number(0),"<br>")
 
# 4 
echo("4. Вставим текст с буффера : Ctrl + v (86)  : ")
echo(keyboard.send_key("v",true,true),"<br>")
 
# конец
echo("<hr><br>")
 
# Quit
app.quit()