2017-08-13 2 views
1

Im mit: Selenium IDE (2.9.1), Firefox, Addons - Gespeicherte Variablen - SelblocksAbrufen der Name und Wert als Locator

Ich bin wirklich Probleme mit Locators auf einem Skript, die ich mache, und ich würde Ich mag es, etwas Verwirrung zu klären, die ich damit habe.

Ihre ist eine Webseite, die zwei große Felder enthält, die jeweils Elemente in einer Liste enthalten. Das Objekt befindet sich entweder in der "nicht zugewiesenen Box" oder der "zugewiesenen Box".

Mein Problem ist, dass ich nicht scheinen kann, einen Weg zu finden, spezifisch in meinem Locator zu bekommen. Befehl in Frage: storeElementPresent | Suche | variable1name

den Wählers Anwendung im Wesentlichen gilt nur den Wert, wie zum Beispiel:

css=option[value="item1"] 

Das ist nicht in Ordnung ist, wenn der Wert in entweder Feld sein kann. Es wird also immer wahr sein. Ich muss wissen, ob es in der zugewiesenen Box ist. Die Reihenfolge ändert sich immer, abhängig davon, welche Werte zugewiesen sind, so dass ich keinen XPath verwenden kann.

In Situationen wie diesen würde ich den Befehl mit dem Wert verwenden (dies hat mich schon einmal gerettet), aber es scheint nicht zu funktionieren. Ich weiß, es ist wahrscheinlich ein Missverständnis über die Locators oder etwas, aber ich würde gerne hören, wie man den Namen und Wert eines Objekts im Locator haben.

Ive versucht:

storeElementPresent|name=assignedBox|variable1Name 

-Find erfolgreich ist. Ich kann es sehen.

-Findung ist erfolgreich. Ich kann es sehen.

storeElementPresent|css=option[value="item1"]|variable1Name 

-Findung ist erfolgreich. Ich kann es sehen.

das ist nicht überraschend, der Name natürlich ist in Ordnung allein, aber nach dem Wert angewendet es scheitert.

storeElementPresent|name=assignedBox value=item1|variable1Name 

-Find nicht gefunden, Wert ist falsch nach dem Ausführen.

storeElementPresent|name=assignedBox value="item1"|variable1Name 

-Find nicht gefunden, Wert ist falsch nach dem Ausführen.

storeElementPresent|name=assignedBox value='item1'|variable1Name 

-Find nicht gefunden, Wert ist falsch nach dem Ausführen.

storeElementPresent|name="assignedBox" value="item1"|variable1Name 

-Find nicht gefunden, Wert ist falsch nach dem Ausführen.

storeElementPresent|name='assignedBox' value='item1'|variable1Name 

-Find nicht gefunden, Wert ist falsch nach dem Ausführen.

Ich weiß, ich habe einen Arbeitsbefehl, die ich auf einem Script verwendet, bevor (nicht auf diese speziellen Boxen), wiederholte ich sie und ihre im wesentlichen nur als |name=something value=blah| angelegt

Im erreicht hier ein bisschen vielleicht sollte ich der CSS-Locator wie der Wähler gilt und versuchen, so etwas wie:

css=select[name="assignedBox" value="item1"] 

oder

css=option[name="assignedBox" value="item1"] 

oder

css=select[name="assignedBox"]@value=item1 (dies findet man nur assignedBox erfolgreich sagt, wahr, aber tut den spezifischen Wert, nur die assignedbox finden) oder

css=select[name="assignedBox"]value=item1 

natürlich diejenigen, scheitern auch. Ich versuchte mit Anführungszeichen, ohne Anführungszeichen, mit Auswahl, mit Option ...

Ive versuchte viel mehr als die oben genannten, aber ich denke nicht, dass meine gescheiterten Versuche wirklich helfen werden.

Außerdem habe ich aus Gründen der Gesundheit dies mit einem Wert getestet, der 1 Wort in seinem Namen hat, wie value = item1, aber es sind Werte mit Leerzeichen, auf denen ich dies tun muss. Es scheint wie die Zeit, die ich das Laufen hatte es keine Anführungszeichen hatte, und ich erinnere mich, dass es flach gescheitert ist, wenn Zitate verwendet wurden. Wenn Sie das oben Gesagte beantwortet haben, dann könnten Sie erklären, wie es auch gemacht würde, wenn der Wert Leerzeichen hat?

Antwort

0

Wenn Sie Leerzeichen haben, verwenden Sie Anführungszeichen.

Mit [attr1='attr1value'][attr2='attr2value'] bedeutet, dass das Attribut attr1 mit diesem Wert und attr2 mit diesem Wert ist.

können Sie versuchen, so etwas wie:

css=select[name='assignedBox'][value='item1'] 

Für Räume:

css=select[name='assignedBox'][value='item 1'] 

Partial Match Attribut:

css=select[name*=assigned][value*=item] 

Partial Match für Name, vollständige Übereinstimmung für Wert unter Verwendung von Split Wörter:

css=select[name*=assigned][value*=item][value*='1'] 
+0

FYI. Das hat mir wirklich geholfen. Die endgültige Antwort lautet storeElementPresent | css = wähle [name = 'zugewieseneBox'] option [wert = 'item1'] | Variable1Name –

Verwandte Themen