Robot dovede komunikovat se schránkou Windows (clipboardem), kdy do schránky umožňuje vložit označený text stejně jako by to udělal uživatel, simulací stisku klávesové zkratky (CTRL + C) nad označeným textem metodou send_key. Do schánky umožňuje také vložit text přímo ze skriptu pomocí funkce set_clipboard_text. K obsahu schránky můžeme ve skriptu přistupovat za pomoci volání funkce clipboard_text. Do GUI elementu pak obsah schránky vrací robot, podobně jako uživatel, simulací stisku klávesové zkratky (CTRL + V), skrze metodu send_key.
Schránka tak může mít funkci prostředníka v případě, že text v daném GUI elementu není uložen v žádné z jeho interních proměnných (Name, Value, Control type, ...). To se hodí zvláště, když potřebujeme ověřit, že komunikace robota s aplikací proběhla v pořádku a do elementu se zadaly hodnoty správně.
Vkládání textu skrze schránku pak může být výhodné v případě aplikací s našeptávači textu (např. různé vyhledávače), které mohou robota v některých případech zmást a způsobit tak špatný přepis odeslaného textu.
Vzhledem k tomu, že do schránky má přístup uživatel i některé aplikace, je dobré snažit se její využití (dobu mezi vkladem hodnoty do schránky a výběrem hodnoty ze schránky) omezit na co nejkratší dobu. Vyhneme se tak nechtěnému přepsání hodnoty uložené ve schránce uživatelem, případně aplikací.
Výhodnost užití Clipboardu si ukážeme na práci s aplikací RpaFormsTest. Pro účely hledání GUI elementů v aplikaci RpaFormsTest využijeme Inspector a funkcí exec_app spustíme aplikaci RpaFormsTest.
Cesta k aplikaci "TutorialApps/RpaFormsTest.exe" je relativní od umístění spouštěného skriptu a předpokládá, že skript je uložený v hlavní složce s nástroji UltimateRPA. Pokud je váš skript uložený jinde, nezapomeňte cestu upravit.
Pomocí příkazu find_first_right_to najdeme editbox v pravo od textového objektu "ID". Do editboxu poté zapíšeme text "test" použitím metody send_text.
Z vnitřních hodnot value, name GUI elementu nejsme schopni zjistit hodnotu vepsanou do objektu, proto kontrolu provedeme vykopírováním obsahu do schánky. Nejdříve budeme simulovat stisk klávesové zkratky (CTRL + A) metodou send_key pro výběr obsahu buňky a následně stejnou metodou budeme simulovat stisk klávesové zkratky (CTRL + C).
Ve skriptu se pak k textu ve schránce dostaneme užitím funkce clipboard_text, která vrací text ze schránky. Ten uložíme do proměnné a vytiskneme do konzole.
Skript na závěr spustíme stiskem klávesové zkratky (ALT + F9) v PyScripteru
Takto robot dovede pracovat pouze s textem ve schránce. V případě, že je ve schránce uložen jiný obsah (obrázek, soubor), volání funkce clipboard_text vrátí prázdný řetězec a robot do logu vypíše [ERROR] Event: #, Clipboard: text not available.
Tato chyba ale nezastaví běh robota.
Robot vkládá hodnoty, podobně jako uživatel, simulací stisku klávesové zkratky (CTRL + V) pomocí metody send_key. Ukážeme si užití na práci s aplikací RpaFormsTest. Nejprve spustíme PyScripter a připravíme si nový skript.
Pomocí příkazu find_first_right_to najdeme editbox v pravo od textového objektu "ID".
Pro vklad textu do vybraného pole skrz schránku, musíme nejdřív požadovaný text do schránky uložit. To uděláme voláním funkce set_clipboard_text, která jako argument bere řetězec, který do schránky uloží.
Vklad textu ze schránky do editboxu provedeme voláním metody send_key, skrze kterou budeme simulovat stisk klávesové zkratky (CTRL + V)
Skript spustíme v PyScripteru klávesovou zkratkou (ALT + F9). Po vložení textu je opět vhodné zkontrolovat, že jsme text vložili správně.