2016-08-05 33 views
2

Ich teste Elemente in einem Raster auf einer HTML-Seite mit Winkelmesser. Es gibt 2 Spalten und mehrere Zeilen. Derzeit ist mein CodeGibt es eine Möglichkeit, zwei verschiedene by.css() - Attribute im selben Element() Check-in-Winkelmesser zu überprüfen?

browser.element(by.css('div[data-row="1"]')).element(by.css('.widget-toggle-btn')).click(); 

HTML:

<div data-row="1" data-col="0" ....other stuff here> 
    ....(other elements).... 
</div> 
<div data-row="1" data-col="1" ....other stuff here> 
    ....(other elements).... 
</div> 

aber wie Sie es 2 Spalten in der Datenreihe sehen 1. Glücklicherweise diejenige, die ich will, ist in ‚Daten-col = "0" ', aber ich sehe keinen Weg, um zum toggle-btn zu kommen, das in' data-col = "1" 'ist. Das Raster ist symmetrisch, so dass alle Elemente in der Ansicht identisch sind, aber das Klicken auf die Schaltflächen führt zu unterschiedlichen Ergebnissen. Gibt es eine Möglichkeit für mich, zwei Attribute in einem by.css() - Locator anzugeben oder muss ich das anders machen?

Antwort

1

Ja, gerade einen neuen Zustand in den eckigen Klammern hinzu:

div[data-row=1][data-col=1] 

Sie können tatsächlich die Kette der Wähler in einem einzigen Wähler verbinden:

$('div[data-row=1][data-col=1] .widget-toggle-btn').click(); 

$() ist eine Verknüpfung zum element(by.css()).

+0

Vielen Dank! Ich fühle mich wie eine ständige Quelle von Fragen für Sie zu beantworten: \ lol – Jooba0352

+1

@ amiller956 Vielen Dank für die interessanten Fragen! – alecxe