Ú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
Hirdetés
- iKing.Hu - Samsung S25 Ultra - Használt, karcmentes
- LG 38GL950G-B - Ívelt Nano IPS / 3840x1600 / 175hz 1ms / G-Sync Modul / FreeSync / HDR 400
- 12.000 ft tól elvihető ELITRO Bankmentes , kamatmentes vásárlás .Cooler Master GM2711S Monitor
- Telefon felvásárlás!! Xiaomi Redmi 9, Xiaomi Redmi 9AT, Xiaomi Redmi 10, Xiaomi Redmi 10 2022
- ÁRGARANCIA!Épített KomPhone Ryzen 9 5900X 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged