This is UltimateRPA Documentation
Dokumentace třídy urpa.App

Třída reprezentující obecnou aplikaci. ...

Diagram dědičnosti pro třídu urpa.App
urpa.AppExcel urpa.AppIE

Veřejné metody

def find_first (self, condition, timeout=default_timeout)
 Metoda vrací první element GUI aplikace, který splňuje podmínky definované v parametru condition, nejčastěji se používá k ověření korektního stavu GUI řízené aplikace po předchozí simulaci uživatelské interakce nebo k nalezení elementu GUI, nad kterým bude simulována uživatelská interakce. ...
 
def find_all (self, condition, elements=0, timeout=default_timeout)
 Metoda vrací seznam (list) všech elementů GUI, které vyhovují podmínce condition. ...
 
def find_first_right_to (self, condition_reference_element, condition_right_element, timeout=default_timeout, height=50, step=30)
 Metoda hledá element GUI, který splňuje podmínku condition_right_element a současně se nachází směrem napravo od referenčního elementu GUI, který splňuje podmínku condition_reference_element. ...
 
def find_first_left_to (self, condition_reference_element, condition_left_element, timeout=default_timeout, height=50, step=30)
 Metoda hledá element GUI, který splňuje podmínku condition_left_element a současně se nachází směrem nalevo od referenčního elementu GUI, který splňuje podmínku condition_reference_element. ...
 
def find_first_down_to (self, condition_reference_element, condition_down_element, timeout=default_timeout, width=50, step=30)
 Metoda hledá element GUI, který splňuje podmínku condition_down_element a současně se nachází směrem dolu od referenčního elementu GUI, který splňuje podmínku condition_reference_element. ...
 
def find_first_up_to (self, condition_reference_element, condition_up_element, timeout=default_timeout, width=50, step=30)
 Metoda hledá element GUI, který splňuje podmínku condition_up_element a současně se nachází směrem nahoru od referenčního elementu GUI, který splňuje podmínku condition_reference_element. ...
 
def find_from_point (self, condition_reference_element, condition, x, y, timeout=default_timeout)
 Metoda vyhledá element GUI, který vyhovuje podmínce condition a současně se nachází na pozici virtuálního bodu, definovaného posunutím (parametry x, y) levého horního rohu elementu GUI, který splňuje podmínku condition_reference_element. ...
 
def close (self, timeout=600)
 Metoda ukončí aplikaci svázanou s procesem třídy App. ...
 
def set_auto_close (self, auto_close)
 Metoda nastavuje interní příznak třídy App, podle kterého se při ukončení simulace řídí automatické (ne)ukončování procesu, který je svázaný s instancí třídy App. ...
 
def resize_tp_window (self, condition, rect, timeout=default_timeout)
 Metoda změní pozici a velikost TP okna, které je navázáno na element GUI splňující podmínku condition. ...
 
def process_id (self)
 Metoda vrací ID procesu svázaného s instancí třídy App. ...
 
def process_name (self)
 Metoda vrací název procesu svázaného s instancí třídy App. ...
 

Detailní popis

Třída reprezentující obecnou aplikaci.

Pro vyhledávání elementů GUI je implicitně nastaveno rozhraní UI Automation a pro simulaci uživatelských interakcí jsou implicitně nastaveny HW akce. Elementy GUI jsou vyhledávány ze všech "viditelných" TP oken, svázaných s procesem spuštěné aplikace, pomocí metody "full search". Pokud spustí aplikace (proces) svázaná s instancí této třídy jinou aplikaci, je nutné pro korektní vyhledání elementů GUI v této nové aplikaci vytvořit novou instanci třídy App, např. za použití metody urpa.find_first_app.

Poznámky:

  • Vyhledávání elementů GUI je rychlejší, pokud se dostatečně identifikují pomocí přesné shody.

Dokumentace k metodám

◆ close()

def urpa.App.close (   self,
  timeout = 600 
)

Metoda ukončí aplikaci svázanou s procesem třídy App.

Metoda v první fázi vyhledá všechna TP okna svázaná s instancí této třídy, resp. s procesem reprezentujícím aplikaci. Následně zašle metoda všem nalezeným TP oknům systémovou zprávu WM_CLOSE. V druhé fázi zpracování metoda čeká, zda se do doby definované v parametru timeout ukončí proces svázaný s instancí této třídy. Pokud se proces svázaný s instancí této třídy do doby timeoutu neukončí, dojde k jeho zabití. Metoda se při ukončení simulace volá automaticky nad všemi instancemi třídy App, které mají nastavený příznak automatického ukončení procesu, viz metoda App.set_auto_close.

Parametry
timeoutint [ms] Maximální čas na standardní ukončení aplikace, která je svázaná s procesem třídy.

Examples

Příklad nalezení již spuštěné aplikace Internet Explorer a vynucení jejího ukončení.

appIE.close()

◆ find_all()

def urpa.App.find_all (   self,
  condition,
  elements = 0,
  timeout = default_timeout 
)

Metoda vrací seznam (list) všech elementů GUI, které vyhovují podmínce condition.

Metoda vyhledává v iteracích s prodlevou 50 ms všechny elementy GUI ve všech "viditelných" TP oknech svázaných s instancí třídy App, resp. s procesem třídy App, které splňují podmínku condition. V každé iteraci jsou prohledávány kompletní stromy elementů GUI vytvořené ze všech TP oken. U aplikací s rozsáhlým GUI se může doba zpracování jedné iterace pohybovat v řádu vteřin. Pokud je počet nalezených elementů GUI během jedné iterace nenulový a současně je roven nebo větší než hodnota specifikovaná v parametru elements, vrací metoda seznam (list) nalezených objektů AppElement. Pokud je parametr elements nastaven na hodnotu 0 a do doby timeoutu není nalezen alespoň jeden požadovaný element GUI, vrací metoda prázdný seznam (list). Pokud není parametr elements nastaven na hodnotu 0 a do doby timeoutu není nalezen požadovaný počet elementů GUI, je vyvolána výjimka urpa.ElementNotFoundError. Metoda nepracuje na principu "čítače" a nelze ji použít při "dynamickém" zobrazení elementů GUI, resp. nelze ji použít, pokud se jednotlivé hledané elementy GUI zobrazují pouze "dočasně" v sekvenčním pořadí. Pokud je parametr elements nastaven na hodnotu 0 proběhne vždy zpracování pouze jedné iterace.

Parametry
conditionString nebo Condition Výraz pro vyhledání elementů GUI.
elementsint Minimální počet elementů GUI, které je nutné do doby definované v parametru timeout nalézt.
timeoutint [ms] Maximální čas na vyhledání elementů GUI. Pokud není tento parametr zadán, použije se implicitní hodnota, tj. urpa.default_timeout.
Návratová hodnota
Vrací seznam (list) objektů typu AppElement
Výjimky
ElementNotFoundErrorpožadovaný počet elementů GUI nebyl v požadovaném čase nalezen.

Examples

Příklad nalezení alespoň dvou radiobuttonů na stránce https://playground.ultimaterpa.com v aplikaci Internet Explorer do doby 1000 ms a vypsání atributů nalezených elementů GUI do výstupní konzole.

# pomocná třída pro vytváření složitějších podmínek
# spuštění aplikace Internet Explorer
app = urpa.exec_ie_app("https://playground.ultimaterpa.com")
# čekání na nalezení elementu GUI Continue
verify_element = app.find_first("Continue")
# nalezení alespoň dvou elementů GUI typu radio_button
elements = app.find_all(cf.radio_button(),2,1000)
# výpis atributů nalezených elementů GUI
print(elements)

◆ find_first()

def urpa.App.find_first (   self,
  condition,
  timeout = default_timeout 
)

Metoda vrací první element GUI aplikace, který splňuje podmínky definované v parametru condition, nejčastěji se používá k ověření korektního stavu GUI řízené aplikace po předchozí simulaci uživatelské interakce nebo k nalezení elementu GUI, nad kterým bude simulována uživatelská interakce.

Technicky je vyhledávání elementu GUI realizováno ve dvou fázích. V první fázi jsou nad procesem svázaným s třídou App vyhledána všechna jeho TP okna. Následně je v těchto "viditelných" oknech vyhledáván element GUI podle podmínky definované v parametru condition. Vyhledávání elementu GUI probíhá v iteracích s prodlevou 50 ms. K prohledávání stromu elementů GUI je použita metoda "prohledávání do hloubky - depth-first search". U aplikací s rozsáhlým GUI se může doba zpracování jedné iterace pohybovat v řádu vteřin. Metoda není vhodná na identifikaci elementů GUI, které pouze "probliknou" v GUI řízené aplikace. Při identifikaci elementů GUI nad aplikacemi, které vytváří podprocesy, je třeba ověřovat provázanost procesu a TP okna, resp. korektní identifikaci (pod)procesu, který je svázaný s instancí třídy App.

Pokud metoda žádný vyhovující element GUI nenajde, vyvolá výjimku urpa.ElementNotFoundError. Jinak metoda vrací první vyhovující element GUI, i pokud vyhovuje podmínce definované v parametru condition více elementů GUI.

Parametry
conditionString nebo Condition Výraz pro vyhledání elementu GUI.
timeoutint [ms] Maximální čas na vyhledání elementu GUI. Pokud není tento parametr zadán, použije se implicitní hodnota, tj. urpa.default_timeout.
Návratová hodnota
Vrací jeden objekt typu AppElement
Výjimky
ElementNotFoundErrorpožadovaný element GUI nebyl v požadovaném čase nalezen.

Examples

Příklad otevření stránky https://playground.ultimaterpa.com v aplikaci Internet Explorer, vyhledání "ověřovacího" elementu GUI s názvem "Continue".

app = urpa.exec_ie_app("https://playground.ultimaterpa.com")
verify_element = app.find_first("Continue")

◆ find_first_down_to()

def urpa.App.find_first_down_to (   self,
  condition_reference_element,
  condition_down_element,
  timeout = default_timeout,
  width = 50,
  step = 30 
)

Metoda hledá element GUI, který splňuje podmínku condition_down_element a současně se nachází směrem dolu od referenčního elementu GUI, který splňuje podmínku condition_reference_element.

Vyhledávání elementů GUI ("reference" i "down") probíhá v iteracích s prodlevou 50 ms po dobu specifikovanou v parametru timeout. Oba hledané elementy GUI ("reference" i "down") se musí současně vyskytovat ve shodném TP okně. V první fázi každé iterace je nejprve vyhledán element GUI podle výrazu condition_reference_element (k nalezení tohoto elementu GUI se interně využívá metoda App.find_first). Po nalezení tohoto referenčního elementu GUI je TP okno, které je s ním svázáno, přeneseno na popředí. Následně jsou z parametrů width a step vypočteny nad TP oknem souřadnice virtuálních bodů, ve kterých je vyhledáván element GUI, splňující podmínku condition_down_element. Virtuální body, nad kterými je vyhledáván element GUI splňující podmínku condition_down_element, mají vertikální rozestup definovaný parametrem step (v pixelech). Počet virtuálních bodů je dán velikostí TP okna a parametrem step, resp. y-ová souřadnice každého virtuálního bodu musí být menší než y-ová souřadnice dolní hrany TP okna, které je svázáno s hledanými elementy GUI. Současně musí být y-ová souřadnice každého virtuálního budu větší, než y-ová souřadnice spodní hrany referenčního elementu GUI. První virtuální bod má vždy y-ovou souřadnici posunutou o 5 pixelů směrem dolu od spodní hrany referenčního elementu GUI. Horizontální (x-ová) souřadnice všech virtuálních bodů je defaultně nastavena na střed referenčního elementu GUI (width = 50) a je u všech virtuálních bodů vždy shodná. Pokud současně splňují podmínku condition_down_element elementy GUI nad větším množstvím virtuálních bodů, je vrácen element GUI, který je nejblíže referenčnímu elementu GUI viz obrázek níže s pořadím virtuálních bodů. Pokud metoda požadovaný element GUI nenajde, vyvolá výjimku urpa.ElementNotFoundError.

DownTo.png
Parametry
condition_reference_elementString nebo Condition Výraz pro vyhledání referenčního elementu GUI.
condition_down_elementString nebo Condition Výraz pro vyhledání elementu GUI, který se nachází směrem dolu od referenčního elementu GUI.
timeoutint [ms] Maximální doba, do které musí být vyhledán element GUI, který splňuje podmínku condition_down_element. Pokud není tento parametr specifikován, použije se implicitní hodnota, viz urpa.default_timeout.
widthint [%] Udává v procentech posunutí horizontální souřadnice virtuálních bodů nad TP oknem od levé hrany referenčního elementu GUI. 100 procent představuje šířku referenčního elementu GUI.
stepint [px] Udává v pixelech vertikální rozestup virtuálních bodů nad TP oknem, ze kterých bude vyhledáván element GUI splňující podmínku condition_down_element.
Návratová hodnota
Vrací jeden objekt typu AppElement
Výjimky
ElementNotFoundErrorPožadovaný element GUI nebyl v požadovaném čase nalezen.

Examples

Příklad nalezení buttonu směrem dolů od textu "Normal" na stránce https://playground.ultimaterpa.com v aplikaci Internet Explorer. Atributy nalezeného elementu GUI jsou vypsány do výstupní konzole.

# pomocná třída pro vytváření složitějších podmínek
# spuštění aplikace Internet Explorer
app = urpa.exec_ie_app("https://playground.ultimaterpa.com")
# čekání na nalezení elementu GUI - textu "Normal" a nalezení nejblížšího buttonu směrem dolů od tohoto elementu GUI
found_element = app.find_first_down_to(cf.text().name("Normal"),cf.button())
# výpis atributů nalezeného elementu GUI
print(found_element)

◆ find_first_left_to()

def urpa.App.find_first_left_to (   self,
  condition_reference_element,
  condition_left_element,
  timeout = default_timeout,
  height = 50,
  step = 30 
)

Metoda hledá element GUI, který splňuje podmínku condition_left_element a současně se nachází směrem nalevo od referenčního elementu GUI, který splňuje podmínku condition_reference_element.

Vyhledávání elementů GUI ("reference" i "left") probíhá v iteracích s prodlevou 50 ms po dobu specifikovanou v parametru timeout. Oba hledané elementy GUI ("reference" i "left") se musí současně vyskytovat ve shodném TP okně. V první fázi každé iterace je nejprve vyhledán element GUI podle výrazu condition_reference_element (k nalezení tohoto elementu GUI se interně využívá metoda App.find_first). Po nalezení tohoto referenčního elementu GUI je TP okno, které je s ním svázáno, přeneseno na popředí. Následně jsou z parametrů height a step vypočteny nad TP oknem souřadnice virtuálních bodů, ve kterých je vyhledáván element GUI, splňující podmínku condition_left_element. Virtuální body, nad kterými je vyhledáván element GUI splňující podmínku condition_left_element, mají horizontální rozestup definovaný parametrem step (v pixelech). Počet virtuálních bodů je dán velikostí TP okna a parametrem step, resp. x-ová souřadnice každého virtuálního bodu musí být vetší než x-ová souřadnice levé hrany TP okna, které je svázáno s hledanými elementy GUI. Současně musí být x-ová souřadnice každého virtuálního bodu menší než x-ová souřadnice levé hrany referenčního elementu GUI. První virtuální bod má vždy x-ovou souřadnici posunutou o 5 pixelů směrem nalevo od levé hrany referenčního elementu GUI. Vertikální (y-ová) souřadnice všech virtuálních bodů je defaultně nastavena na střed referenčního elementu GUI (height = 50) a je u všech virtuálních bodů vždy shodná. Pokud současně splňují podmínku condition_left_element elementy GUI nad větším množstvím virtuálních bodů, je vrácen element GUI, který je nejdále od referenčního elementu GUI, pokud nebyl nalezen element GUI nad prvním virtuálním bodem vzdáleným 5 px od levé hrany referenčního elementu GUI viz obrázek níže. Pokud metoda požadovaný element GUI nenajde, vyvolá výjimku urpa.ElementNotFoundError.

LeftTo.png
Parametry
condition_reference_elementString nebo Condition Výraz pro vyhledání referenčního elementu GUI.
condition_left_elementString nebo Condition Výraz pro vyhledání elementu GUI, který se nachází směrem nalevo od referenčního elementu GUI.
timeoutint [ms] Maximální doba, do které musí být vyhledán element GUI, který splňuje podmínku condition_left_element. Pokud není tento parametr specifikován, použije se implicitní hodnota viz urpa.default_timeout.
heightint [%] Udává v procentech posunutí vertikální souřadnice všech virtuálních bodů nad TP oknem od horní hrany referenčního elementu GUI. 100 procent představuje výška referenčního elementu GUI.
stepint [px] Udává v pixelech horizontální rozestup virtuálních bodů nad TP oknem, ze kterých bude vyhledáván element GUI splňující podmínku condition_left_element.
Návratová hodnota
Vrací jeden objekt typu AppElement
Výjimky
ElementNotFoundErrorPožadovaný element GUI nebyl v požadovaném čase nalezen.

Examples

Příklad nalezení radiobuttonu směrem nalevo od textu "Normal" na stránce https://playground.ultimaterpa.com v aplikaci Internet Explorer. Atributy nalezeného elementu GUI jsou vypsány do výstupní konzole.

# pomocná třída pro vytváření složitějších podmínek
# spuštění aplikace Internet Explorer
app = urpa.exec_ie_app("https://playground.ultimaterpa.com/")
# čekání na nalezení elementu GUI - textu "Normal" a nalezení radiobuttonu nalevo od tohoto elementu GUI
found_element = app.find_first_left_to(cf.text().name("Normal"),cf.radio_button())
# výpis atributů nalezeného elementu GUI
print(found_element)

◆ find_first_right_to()

def urpa.App.find_first_right_to (   self,
  condition_reference_element,
  condition_right_element,
  timeout = default_timeout,
  height = 50,
  step = 30 
)

Metoda hledá element GUI, který splňuje podmínku condition_right_element a současně se nachází směrem napravo od referenčního elementu GUI, který splňuje podmínku condition_reference_element.

Vyhledávání elementů GUI ("reference" i "right") probíhá v iteracích s prodlevou 50 ms po dobu specifikovanou v parametru timeout. Oba hledané elementy GUI ("reference" i "right") se musí současně vyskytovat ve shodném TP okně. V první fázi každé iterace je nejprve vyhledán element GUI podle výrazu condition_reference_element (k nalezení tohoto elementu GUI se interně využívá metoda App.find_first). Po nalezení tohoto referenčního elementu GUI je TP okno, které je s ním svázáno, přeneseno na popředí. Následně jsou z parametrů height a step vypočteny nad TP oknem souřadnice virtuálních bodů, ve kterých je vyhledáván element GUI, splňující podmínku condition_right_element. Virtuální body, nad kterými je vyhledáván element GUI splňující podmínku condition_right_element, mají horizontální rozestup definovaný parametrem step (v pixelech). Počet virtuálních bodů je dán velikostí TP okna a parametrem step, resp. x-ová souřadnice každého virtuálního bodu musí být menší než x-ová souřadnice pravé hrany TP okna, které je svázáno s hledanými elementy GUI. Současně musí být x-ová souřadnice každého virtuálního bodu větší než x-ová souřadnice pravé hrany referenčního elementu GUI. První virtuální bod má vždy x-ovou souřadnici posunutou o 5 pixelů směrem napravo od pravé hrany referenčního elementu GUI. Vertikální (y-ová) souřadnice všech virtuálních bodů je defaultně nastavena na střed referenčního elementu GUI (height = 50) a je u všech virtuálních bodů vždy shodná. Pokud současně splňují podmínku condition_right_element elementy GUI nad větším množstvím virtuálních bodů, je vrácen element GUI, který je nejblíže referenčnímu elementu GUI. Pokud metoda požadovaný element GUI nenajde, vyvolá výjimku urpa.ElementNotFoundError.

RightTo.png
Parametry
condition_reference_elementString nebo Condition Výraz pro vyhledání referenčního elementu GUI.
condition_right_elementString nebo Condition Výraz pro vyhledání elementu GUI, který se nachází směrem napravo od referenčního elementu GUI.
timeoutint [ms] Maximální doba, do které musí být vyhledán element GUI, který splňuje podmínku condition_right_element. Pokud není tento parametr specifikován, použije se implicitní hodnota viz urpa.default_timeout.
heightint [%] Udává v procentech posunutí vertikální souřadnice všech virtuálních bodů nad TP oknem od horní hrany referenčního elementu GUI. 100 procent představuje výška referenčního elementu GUI.
stepint [px] Udává v pixelech horizontální rozestup virtuálních bodů nad TP oknem, ze kterých bude vyhledáván element GUI splňující podmínku condition_right_element.
Návratová hodnota
Vrací jeden objekt typu AppElement
Výjimky
ElementNotFoundErrorPožadovaný element GUI nebyl v požadovaném čase nalezen.

Examples

Příklad nalezení nejbližšího textu směrem napravo od radiobuttonu "Normal" na stránce https://playground.ultimaterpa.com v aplikaci Internet Explorer. Atributy nalezeného elementu GUI jsou vypsány do výstupní konzole.

# pomocná třída pro vytváření složitějších podmínek
# spuštění aplikace Internet Explorer
app = urpa.exec_ie_app("https://playground.ultimaterpa.com")
# čekání na nalezení elementu GUI - radiobuttonu "Normal" a nalezení nejblížšího textu napravo od tohoto elementu GUI
found_element = app.find_first_right_to(cf.radio_button().name("Normal"),cf.text())
# výpis atributů nalezeného elementu GUI
print(found_element)

◆ find_first_up_to()

def urpa.App.find_first_up_to (   self,
  condition_reference_element,
  condition_up_element,
  timeout = default_timeout,
  width = 50,
  step = 30 
)

Metoda hledá element GUI, který splňuje podmínku condition_up_element a současně se nachází směrem nahoru od referenčního elementu GUI, který splňuje podmínku condition_reference_element.

Vyhledávání elementů GUI ("reference" i "up") probíhá v iteracích s prodlevou 50 ms po dobu specifikovanou v parametru timeout. Oba hledané elementy GUI ("reference" i "up") se musí současně vyskytovat ve shodném TP okně. V první fázi každé iterace je nejprve vyhledán element GUI podle výrazu condition_reference_element (k nalezení tohoto elementu GUI se interně využívá metoda App.find_first). Po nalezení tohoto referenčního elementu GUI je TP okno, které je s ním svázáno, přeneseno na popředí. Následně jsou z parametrů width a step vypočteny nad TP oknem souřadnice virtuálních bodů, ve kterých je vyhledáván element GUI, splňující podmínku condition_up_element. Virtuální body, nad kterými je vyhledáván element GUI splňující podmínku condition_up_element, mají vertikální rozestup definovaný parametrem step (v pixelech). Počet virtuálních bodů je dán velikostí TP okna a parametrem step, resp. y-ová souřadnice každého virtuálního bodu musí být větší než y-ová souřadnice horní hrany TP okna, které je svázáno s hledanými elementy GUI. Současně musí být y-ová souřadnice každého virtuálního budu menší, než y-ová souřadnice horní hrany referenčního elementu GUI. První virtuální bod má vždy y-ovou souřadnici posunutou o 5 pixelů směrem nahoru od horní hrany referenčního elementu GUI. Horizontální (x-ová) souřadnice všech virtuálních bodů je defaultně nastavena na střed referenčního elementu GUI (width = 50) a je u všech virtuálních bodů vždy shodná. Pokud současně splňují podmínku condition_up_element elementy GUI nad větším množstvím virtuálních bodů, je vrácen element GUI, který je nejdále od referenčního elementu GUI, pokud nebyl nalezen element GUI nad prvním virtuálním bodem vzdáleným 5 px od horní hrany referenčního elementu GUI viz obrázek níže. Pokud metoda požadovaný element GUI nenajde, vyvolá výjimku urpa.ElementNotFoundError.

UpTo.png
Parametry
condition_reference_elementString nebo Condition Výraz pro vyhledání referenčního elementu GUI.
condition_up_elementString nebo Condition Výraz pro vyhledání elementu GUI, který se nachází směrem nahoru od referenčního elementu GUI.
timeoutint [ms] Maximální doba, do které musí být vyhledán element GUI, který splňuje podmínku condition_up_element. Pokud není tento parametr specifikován, použije se implicitní hodnota, viz urpa.default_timeout.
widthint [%] Udává v procentech posunutí horizontální souřadnice virtuálních bodů nad TP oknem od levé hrany referenčního elementu GUI. 100 procent představuje šířku referenčního elementu GUI.
stepint [px] Udává v pixelech vertikální rozestup virtuálních bodů nad TP oknem, ze kterých bude vyhledáván element GUI splňující podmínku condition_up_element.
Návratová hodnota
Vrací jeden objekt typu AppElement
Výjimky
ElementNotFoundErrorPožadovaný element GUI nebyl v požadovaném čase nalezen.

Examples

Příklad nalezení textu směrem nahoru od buttonu "Continue" na stránce https://playground.ultimaterpa.com v aplikaci Internet Explorer. Atributy nalezeného elementu GUI jsou vypsány do výstupní konzole.

# pomocná třída pro vytváření složitějších podmínek
# spuštění aplikace Internet Explorer
app = urpa.exec_ie_app("https://playground.ultimaterpa.com")
# čekání na nalezení elementu GUI - buttonu "Continue" a nalezení textu směrem nahoru od tohoto elementu GUI
found_element = app.find_first_up_to(cf.button().name("Continue"),cf.text())
# výpis atributů nalezeného elementu GUI
print(found_element)

◆ find_from_point()

def urpa.App.find_from_point (   self,
  condition_reference_element,
  condition,
  x,
  y,
  timeout = default_timeout 
)

Metoda vyhledá element GUI, který vyhovuje podmínce condition a současně se nachází na pozici virtuálního bodu, definovaného posunutím (parametry x, y) levého horního rohu elementu GUI, který splňuje podmínku condition_reference_element.

Vyhledávání elementů GUI probíhá v iteracích s prodlevou 50 ms po dobu specifikovanou v parametru timeout. V první fázi každé iterace je vždy nejprve vyhledán referenční element GUI podle podmínky definované v parametru condition_reference_element (interně metoda využívá metodu App.find_first). Po nalezení referenčního elementu GUI je TP okno, které je s ním svázáno, přeneseno na popředí. Ze zjištěných absolutních souřadnic referenčního elementu GUI a parametrů x, y jsou následně vypočteny souřadnice virtuálního bodu, nad kterým je hledán element GUI podle podmínky condition. Pokud element GUI nad virtuálním bodem splňuje podmínku condition, je vrácen touto metodou. Oba hledané elementy GUI ("reference" i "condition") se musí současně vyskytovat ve shodném TP okně. Pokud metoda žádný vyhovující element GUI nenajde, vyvolá výjimku urpa.ElementNotFoundError.

FromPoint.png
Parametry
condition_reference_elementString nebo Condition Výraz pro vyhledání referenčního elementu GUI.
conditionString nebo Condition Výraz pro vyhledání hlavního elementu GUI.
xint [px] Souřadnice specifikující horizontální posun, resp. souřadnice definující x-ovou relativní polohu virtuálního bodu, na které se musí nacházet element GUI splňující podmínku condition.
yint [px] Souřadnice specifikující vertikální posun, resp. souřadnice definující y-ovou relativní polohu virtuálního bodu, na které se musí nacházet element GUI splňující podmínku condition.
timeoutint [ms] Maximální čas na vyhledávání hlavního elementu GUI, pokud parametr není zadán, použije se implicitní hodnota urpa.default_timeout.
Návratová hodnota
Vrací jeden objekt typu AppElement.
Výjimky
ElementNotFoundErrorpožadovaný element GUI nebyl v požadovaném čase nalezen.

Examples

Příklad nalezení obrázku, který se na stránce https://playground.ultimaterpa.com v aplikaci Internet Explorer nachází 0 pixelů směrem doprava a 60 pixelů směrem nahoru od levého horního rohu elementu GUI, který reprezentuje text "Normal". Atributy nalezeného elementu GUI jsou vypsány do výstupní konzole.

# pomocná třída pro vytváření složitějších podmínek
# spuštění aplikace Internet Explorer
app = urpa.exec_ie_app("https://playground.ultimaterpa.com")
# čekání na nalezení elementu GUI - textu "Normal" a nalezení obrázku - elementu GUI, který je na pozici specifikované posunutím (0,-60) levého horního rohu elementu GUI - textu "Normal"
found_element = app.find_from_point(cf.text().name("Normal"),cf.image(),0, -60)
# výpis atributů nalezeného elementu GUI
print(found_element)

◆ process_id()

def urpa.App.process_id (   self)

Metoda vrací ID procesu svázaného s instancí třídy App.

Návratová hodnota
Vrací číslo (int), které obsahuje ID procesu svázaného s instancí třídy App.

Examples

Příklad nalezení již spuštěné aplikace Internet Explorer a výpis ID jejího procesu.

print(appIE.process_id())

◆ process_name()

def urpa.App.process_name (   self)

Metoda vrací název procesu svázaného s instancí třídy App.

Návratová hodnota
Vrací řetězec, který obsahuje název procesu svázaného s instancí třídy App.

Examples

Příklad nalezení již spuštěné aplikace Internet Explorer a výpis názvu jejího procesu.

print(appIE.process_name())

◆ resize_tp_window()

def urpa.App.resize_tp_window (   self,
  condition,
  rect,
  timeout = default_timeout 
)

Metoda změní pozici a velikost TP okna, které je navázáno na element GUI splňující podmínku condition.

V první fázi zpracování tato metoda vyhledává element GUI, který splňuje podmínku condition, za interního využití metody viz App.find_first. Z nalezeného elementu GUI je následně identifikováno TP okno, které je s ním svázáno a je změněna jeho velikost podle parametru rect.

Parametry
conditionString nebo Condition. Podmínka pro nalezení TP okna, resp. libovolného elementu GUI, který se v TP okně nachází.
recttuple s právě 4 prvky typu int - (left, top, right, bottom) Definuje novou absolutní pozici nalezeného TP okna na aktuálním desktopu.
timeoutint [ms]. Maximální možný čas na identifikaci TP okna. Pokud není parametr zadán použije se implicitní hodnota viz urpa.default_timeout.

Examples

Příklad otevření aplikace Internet Explorer a změna velikosti jejího TP okna.

app = urpa.exec_ie_app("https://playground.ultimaterpa.com")
newPos = (1,1,500,500)
# čekání na korektní načtení stránky a identifikace TP okna podle buttonu "Continue", změna velikosti nalezeného TP okna
app.resize_tp_window("Continue",newPos)

◆ set_auto_close()

def urpa.App.set_auto_close (   self,
  auto_close 
)

Metoda nastavuje interní příznak třídy App, podle kterého se při ukončení simulace řídí automatické (ne)ukončování procesu, který je svázaný s instancí třídy App.

Implicitně je tato hodnota interního příznaku nastavena na hodnotu True u instancí tříd App (AppIE, AppExcel), které byly vytvořeny pomocí metod urpa.exec_app, urpa.exec_excel_app nebo urpa.exec_ie_app a na hodnotu False u instancí tříd App (AppIE, AppExcel), které byly vytvořeny pomocí metod urpa.find_first_app, urpa.find_first_excel_app nebo urpa.find_first_ie_app.

Parametry
auto_closeboolean Nastavení nové hodnoty interního příznaku třídy, který řídí automatické (ne)ukončování procesu svázaného s instancí třídy.

Examples

Příklad nalezení již spuštěné aplikace Internet Explorer a její automatické ukončení při ukončení skriptu.

appIE.set_auto_close(True)

Dokumentace pro tuto třídu byla generována z následujícího souboru: