Új hozzászólás Aktív témák
-
kovisoft
őstag
Ez egy Dialog, nem egy Edit control. Vagy az van, hogy ez tényleg már maga a terminál ablak, és akkor ebből nem fogsz tudni szöveget kiolvasni. Vagy pedig mégsem sikerült eltalálni. Esetleg egymáson van több control is és csak a legelsőt kaptad vissza, de igazából annak valamilyen childja lenne a keresett control. Sorry, ehhez én már kevés vagyok, eddig is jobbára csak tippelgettem.
-
kovisoft
őstag
Nem biztos, hogy az alábbi kód működik, de valami ilyesmire gondoltam, hogy ha mondjuk fixen mindig ugyanott nyílik meg az applikáció és van egy x, y koordinátád, ami a terminál ablakba esik, akkor lekéred, hogy melyik control van ezen a pozíción, aztán kiíratod ennek valamilyen azonosítóját:
top_wnd = app.top_window().wrapper_object()
control = top_wnd.from_point(x, y)Én továbbra is kételkedem benne, hogy ez egy sima edit control lenne és hogy ki tudnád innen olvasni a megjelenített szöveget. De ne legyen igazam.
-
kovisoft
őstag
A from_point-tal kapcsolatban csak arra gondoltam, hogy a saját gépeden próbaképpen meg tudnád nézni, hogy x, y koordináta alapján melyik window-t adja vissza és az milyen típusú. És talán ez alapján már tudnál írni egy univerzális lekérdezést (az nyilván már nem x, y koordináta alapján menne, hanem típus vagy egyéb azonosító alapján).
Amúgy én némileg kételkedem abban, hogy a terminál ablak egy szimpla edit control lenne. Legalábbis ha szimulálnia kell tudni mindenféle terminál fícsört, mint pl. színezés, akkor ez lehet, hogy inkább valami speciális ablak lesz, aminek valami saját renderelése van, és akkor abból nem fogsz tudni kiolvasni szöveget. A beírás sem úgy megy, gondolom, hogy beleírsz egy edit controlba valami szöveget, hanem inkább a lenyomott billentyűket adod át, nem?
-
kovisoft
őstag
Lehet, hogy nem azt az edit controlt találtad meg, amiben a szöveg van (egyáltalán edit controlban van?). Valami alapján be kellene azonosítanod, hogy melyik child window-t keresed. Ha nem megy auto_id, class, window title, hierarchia, stb alapján, akkor esetleg megpróbálkozhatsz koordináta alapján: .from_point(x, y). De csak tippelek, mert nincs tapasztalatom a pywinauto-val.
-
SzVFE1
csendes tag
Most ki is próbáltam ebben a formában, de ezt is eldobja hibával. Egyébként bármilyen tanácsot szívesen fogadok, a pywinauto-hoz sem ragaszkodom, ha létezik jobb a MobaXterm kontrollálására.
from pywinauto.application import Application
app = Application(backend='uia').start('"C:\\Program Files (x86)\\Mobatek\\MobaXterm\\MobaXterm.exe"').connect(title='val',timeout=100)
app.val.print_control_identifiers()
textEditor = app.val.child_window(control_type="Tab").wrapper_object()
getline = app.val.child_window(auto_id="66952", control_type="Edit").wrapper_object()
print(getline.Edit.get_line(0))print(getline.Edit.get_line(0))
AttributeError: 'EditWrapper' object has no attribute 'Edit' -
-
kovisoft
őstag
A control_type="Tab" egy TabControl-t választ ki, mutatja is a hibaüzenet, hogy egy TabControlWrapper objektumról van szó. Mint ahogy írták előttem, ennek nincs Edit attribútuma.
Szerintem a tab-nak az edit controlját kellene megkeresni, ami tippre a tab-nak valami childja lehet, de nem ismerem az applikációt. És gondolom control_type="Edit" kellene az EditWrapper lekéréséhez, annak lesz majd Edit attribútuma.
Új hozzászólás Aktív témák
- Apple iPhone Air Black 256GB használt karcmentes 100% akku (20 ciklus) garancia 2026.12.20.-ig
- Keresünk iPhone 15/15 Plus/15 Pro/15 Pro Max
- Apple iPhone 14 Pro / 128GB / Kártyafüggetlen / 12Hó Garancia / Akku: 86%
- BESZÁMÍTÁS! Gigabyte X570 R7 5700X 32GB DDR4 512GB SSD RX 6750 XT 12GB LIAN LI LANCOOL 216RX 750W
- Apple MacBook Pro 13 (2020) M1 8GB/256GB használt, megkímélt 90% akku (399 ciklus)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
