WebDriver Element suchen nicht mit Attribut
Habe ich folgende HTML -
<button class="x-btn-text " style="position: relative; width: 69px;" type="button" tabindex="0" aria-disabled="false">OK</button>
<button class="x-btn-text" style="position: relative; width: 69px;" type="button" tabindex="0">OK</button>
Die erste Schaltfläche ist deaktiviert, und der zweite button ist aktiviert, da ich möchte, klicken Sie auf die Schaltfläche aktiviert. Gibt es eine Möglichkeit, die ich finden konnte, das element, das nicht Attribut aria-disabled
?
- Es gibt viele Möglichkeiten, um der Haut eine Katze, wie Sie sagen. Wie viele
buttons
haben, dassclass
? - alle Schaltflächen (Speichern, Ok, Abbrechen, Neue User etc) auf die UI hat die gleiche
class
- da Sie scheinen, zu sein hin und her mit CSS, kann ich sagen, du bist etwas neues für das web-dev-Welt.. bei der Entscheidung, ob Einsatz von css-oder xpath, sollten Sie diesen blog Lesen, um zu sehen, was Sie denken, ist am besten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
ExtJs Fall. Hier müssen Sie bestimmen, ob Sie aktiviert ist oder nicht, indem das Attribut
aria-disabled="false"
mitgetAttribute("aria-disabled")
oder XPath/CssSelector.Code So Begeistert ist die Logik Stimmen sollte, jedoch ExtJS ist immer etwas besonderes, auf etwas.
Oder-noch einfacher-Regel aus, die aktiviert man in Ihrem locator. (Als Sie benötigen, um text hier, also keine geeigneten locator mit CssSelector, nur XPath)
JA!
Nutzen Sie CSS!
Ihre Selektor zu finden, eine Taste ohne die
aria-disabled
Attribut wäre,button:not([aria-disabled])
:contains
... aber ja, ich weiß das. ich war die Beantwortung der spezifischen Frage "gibt es eine Möglichkeit, die ich finden konnte, das element.. ohne aria-disabled":)
isEnabled
würde tatsächlich falsch sein aufgrund deraria-disabled
- Attribut, da ich nicht glaube, dass das ein standard-Attribut...wenn es nicht youd haben, um explizit zu überprüfen, für dessen Anwesenheit.