Hallo habe mal noch keine perfekte Lösung für mein Problem. Ich hoffe mal auf eure Hilfe.
In einer App gibt es Click Button und davor Text.
Aufbau ungefähr so
Var09 Button
Var02 Button
Var99 Button
Var04 Button
Usw.
Ich wollte jetzt, das wenn er bestimmte VarXX erkennt, dann soll er den Button daneben klicken.
Script Idee bisher
text1= getText("Var02");
text2= getText("Var07");
if (text1 == "Var02" or text2 == "Var07" )
{click("Button");
sleep(500);}
So würde er aber den Button neben Var09 im Bsp. Oben klicken. Wie kann ich jetzt sagen, nimm den Button neben den Treffer?
Folgende Befehle werden mir über overlay Steuerung angeboten
bounds = getBounds; click;
clickById; focus
Focus dachte ich klingt gut dafür. Ging aber nicht.
Und über Koordinaten und Zeilen weise Abfrage ist es zu komplex. Bzw. Nicht optimal, da ich mehrere Geräte mit unterschiedlichen Auflösungen nutze
ClickById ist auch immer die gleiche Adresse. Also nimmt er immer den 1. Button und nicht die Zeile mit der gefunden Var
Ich hoffe auf eure Hilfe.
Danke schonmal vorab.
Script Click mit Suche und Auswahl Button
Moderator: Martin
Re: Script Click mit Suche und Auswahl Button
Hi
Das ist ein schwieriges Unterfangen. Ich würde am ehesten mit den Koordinaten des Textes arbeiten und damit die Koordinaten des Buttons ausrechnen, damit es auf den meisten Geräten passt.
Je nachdem wie das UI der anderen App aufgebaut ist, könntest du mit getBounds das Rechteck von 'VarXX' bestimmen, in Variable rect speichern und damit die X/Y-Koordinaten des Buttons ausrechnen:
x = rect[0]+rect[2] + 10;
y = rect[1]+rect[3] / 2;
+ 10 (oder mehr) damit die X-Koordintate im Button liegen wird
rect[3] / 2 damit Y in der Mitte des VarXX-Feldes und hoffentlich auch in der Mitte des Buttons liegt
Aber das ist nur eine Idee und könnte je nach Aufbau der anderen App auch kläglich scheitern, wenn die Textfelder und die Buttons nicht aneinander ausgerichtet sind etc.
Freundliche Grüsse
Martin
Das ist ein schwieriges Unterfangen. Ich würde am ehesten mit den Koordinaten des Textes arbeiten und damit die Koordinaten des Buttons ausrechnen, damit es auf den meisten Geräten passt.
Je nachdem wie das UI der anderen App aufgebaut ist, könntest du mit getBounds das Rechteck von 'VarXX' bestimmen, in Variable rect speichern und damit die X/Y-Koordinaten des Buttons ausrechnen:
x = rect[0]+rect[2] + 10;
y = rect[1]+rect[3] / 2;
+ 10 (oder mehr) damit die X-Koordintate im Button liegen wird
rect[3] / 2 damit Y in der Mitte des VarXX-Feldes und hoffentlich auch in der Mitte des Buttons liegt
Aber das ist nur eine Idee und könnte je nach Aufbau der anderen App auch kläglich scheitern, wenn die Textfelder und die Buttons nicht aneinander ausgerichtet sind etc.
Freundliche Grüsse
Martin
Re: Script Click mit Suche und Auswahl Button
Schade. Hatte irgendwie auf eine einfache Lösung gehofft.
Ermittelt getbounds die Koordinaten?
Was bewirkt eigentlich der Befehl focus?
Ermittelt getbounds die Koordinaten?
Was bewirkt eigentlich der Befehl focus?
Re: Script Click mit Suche und Auswahl Button
getBounds liefert X, Y, Breite und Höhe der Komponente in einer Liste zurück. Focus setzt den Eingabefokus auf das angegebene Element. Das Element muss dazu aber auch fokussiert werden können, z.B. ein Textfeld sein oder ein Button sein. Ein reines Text-Anzeige-Element kann das nicht.
Re: Script Click mit Suche und Auswahl Button
Hallo nochmal zu ähnlichen Problem.
Getbounds hilft hier auch nicht optimal weiter, da die Position der Felder zu stark variiert.
Ist eigentlich eine Kombination von Koordinaten und getTextById möglich?
Die y Koordinaten kann ich festlegen, jedoch die x Koordinaten ist nicht errechenbar.
Oder
Im Bereich x=950-1080 y=804
Var = getTextById("Adresse")
Ist das möglich?
Ansonsten nochmal riesen Respekt und Danke für die Klasse App. Wahnsinn was alles möglich ist. Martin und Team super Arbeit. Konnte schon etliche User zum Kauf der App verführen
Getbounds hilft hier auch nicht optimal weiter, da die Position der Felder zu stark variiert.
Ist eigentlich eine Kombination von Koordinaten und getTextById möglich?
Die y Koordinaten kann ich festlegen, jedoch die x Koordinaten ist nicht errechenbar.
Oder
Im Bereich x=950-1080 y=804
Var = getTextById("Adresse")
Ist das möglich?
Ansonsten nochmal riesen Respekt und Danke für die Klasse App. Wahnsinn was alles möglich ist. Martin und Team super Arbeit. Konnte schon etliche User zum Kauf der App verführen

Re: Script Click mit Suche und Auswahl Button
Hi,
Eine Kombination von getTextById und Koordinaten ist nicht möglich. Du könntest versuchen, die X-Koordinaten mit einer Schleife abzusuchen:
for (x in [950 to 1080, 20])
{
text = getText(x, 804);
if (text!=null) break;
}
20 gibt die Schrittgrösse an. Je grösser, desto weniger Versuche und entsprechend schneller.
Freundliche Grüsse
Martin
Eine Kombination von getTextById und Koordinaten ist nicht möglich. Du könntest versuchen, die X-Koordinaten mit einer Schleife abzusuchen:
for (x in [950 to 1080, 20])
{
text = getText(x, 804);
if (text!=null) break;
}
20 gibt die Schrittgrösse an. Je grösser, desto weniger Versuche und entsprechend schneller.
Freundliche Grüsse
Martin