Ú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'[ Szerkesztve ]
-
-
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
- One otthoni szolgáltatások (TV, internet, telefon)
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- War Thunder - MMO Combat Game
- Digitális Állampolgárság Program
- Milyen légkondit a lakásba?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- eBay-es kütyük kis pénzért
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Gitáros topic
- Renault, Dacia topik
- További aktív témák...
- Philips 24B1U5301H/00 Monitor
- ÚJ Bontatlan Mac mini M4 chip16-24GB 256-512GB SSD 1év Apple Garanciáva AZONNAL Átvehető Deák Térnél
- OHH! HP EliteBook 850 G8 Fémházas "Kis Gamer" Laptop 15,6" -65% i7-1185G7 16/512 Iris Xe FHD HUN
- Olympus E-M1X + objektívek
- Xiaomi Mi Electric Scooter Pro 2 - ELEKTROMOS ROLLER
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest