2016-08-05 3 views
2

分度器でHTMLページのグリッド内の要素をテストしています。 2つの列と複数の行があります。現在、私のコードは2つの異なるby.css()属性を分度器の同じ要素()チェックでチェックする方法はありますか?

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> 

しかし、あなたが見ることができるよう、データの行の2列がある1。幸いにも私が欲しい1は、データ-COL」である= 『0』 '、しかし、私はtoggle-btnに行く方法は見当たりません。それは' data-col = "1" 'です。グリッドは対称であるため、ビュー内のすべての要素は同じですが、ボタンをクリックすると結果が異なります。 by.css()ロケータで2つの属性を指定する方法はありますか、それとも別の方法で行う必要がありますか?

答えて

1

はい、ちょうど角括弧で新しい条件を追加します。

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

は、あなたが実際には単一のセレクタでのセレクタのチェーンに参加することができます。

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

$()element(by.css())へのショートカットです。

+0

ありがとうございました! \ lol – Jooba0352

+1

@ amiller956興味深い質問に感謝します。 – alecxe

関連する問題