2017-10-02 1 views
1

Ich teste unsere Webanwendung, die eine Karte in einem Formular enthält. Ich benutze die Flugblatt-Map, um verschiedene Regionen darauf anzuzeigen. Region-IDs können sich ändern, wenn eine Combo-Box-Option ausgewählt wird. Ich habe versucht click element mit Xpath, um eine Region zu wählen, aber leider hat es nicht funktioniert. Gibt es eine Möglichkeit, Regionen mit Rrobot Framework aus der Map zu wählen?robotframework - Wählen Sie eine Region auf der Karte der Broschüre

Unten ist der Robot Framework Code verwende ich:

click element xpath=.//*[@id='map-id']/div[1]/div[4]/img[89] 

Hier ist meine Form:

Leaflet map

+0

Zeigen Sie uns, welchen Code Sie verwendet haben. – Goralight

+0

Ich benutze dies: Klicken Element xpath =. // * [@ id = 'Karten-ID']/div [1]/div [4]/img [89] –

+0

Wenn das ist genau der Code, den Sie verwenden - sein fehlender Doppelraum zwischen 'element' und' xpath' – Goralight

Antwort

1

ich hatte das gleiche Problem, und es gibt zwei Möglichkeiten, um es zu beheben: Erstellen Sie ein benutzerdefiniertes Python-Schlüsselwort, um nach dem Kartenelement zu suchen, die Mitte des Elements zu finden, eine Entfernung von der Mitte zum Klicken zu berechnen und dann auf diese Position zu klicken (nicht so schwer wie es klingt); oder klicken Sie auf das Kartenelement selbst (wahrscheinlich durch einen Dom-Stil-Locator, diese sind ziemlich solide und können hinter transparente Overlays klicken) und glücklich sein, dass die Mitte der Karte der einzige Ort ist, auf den Sie klicken können.

Mit Ausnahme der zweiten Option wird davon ausgegangen, dass kein transparentes Overlay das Robot Framework blockiert, wenn Sie auf Ihre Karte klicken. Dies ist etwas anderes, das diesen Fehler verursachen könnte. Wenn dies der Fall ist, müssen Sie möglicherweise Javascript über das Schlüsselwort Execute Javascript durchsuchen. JavaScript ist in der Lage, auf Dinge hinter transparenten Overlays zu klicken, vorausgesetzt, der Befehl click() funktioniert mit Ihrem aktuellen Setup.

Wenn ALLES fehlschlägt, könnten Sie ein anderes benutzerdefiniertes Schlüsselwort in Erwägung ziehen, das den Cursor bewegt und dann als Cursor klickt. Ich habe keinen Zugriff auf diesen Code atm, aber es ist ein einzeiliges Schlüsselwort in Python.

Auch der Fehler könnte nur sein, weil Ihr XPath nicht spezifisch genug war.

+0

Vielen Dank. Es funktionierte mit Klick-Element und einem 3-Sekunden-Schlaf danach. –

+1

Gut zu helfen! Vergessen Sie nicht, die Antwort zu akzeptieren, wenn es Ihr Problem gelöst hat und hilfreich war. –

Verwandte Themen