2015-05-19 22 views
5

Test işlemlerimin bir kısmını otomatikleştirmek için çalışıyorum ve Nightwatch.js ve javascript’e nispeten yeniyim. Aynı sınıfa sahip birden fazla öğe varsa, döndürülecek sonraki dizideki sınıf ve konumuna göre bir öğeye tıklayabileceğim bir yol var mı?Nightwatch.js'de dizi konumuyla bir öğe seçebilir miyim?

Örneğin aşağıdaki HTML alın: -

<div class="clickable-button"><p>Some Text</p></div> 
<div class="clickable-button"><p>Some Text 2</p></div> 
<div class="clickable-button"><p>Some Text 3</P></div> 

Ben krom geliştirme araçlarını kullanmak ve konsolda aşağıdaki komutu çalıştırırsanız: -

$('.clickable-button') 

Bu üç unsurdan dizisi döndürür yukarıda listelenen.

İlk <div> öğesini tıklatıp CSS seçiciyi kullanarak bunu yapmanın bir yolu olup olmadığını öğrenmek mi istiyorsunuz? Dinamik veriler olduğundan, <p> etiketinde görünen metinle seçemiyorum.

Ben Nightwatch aşağıdaki komutları denedi: - Bu seçenekler işe

browser.click('.clickable-button'[0]) 

browser.click('clickable-button[0]') 

Ne ait. Herhangi bir yardım veya tavsiye mutluluk duyacağız.

cevap

4

Muhtemelen eski tarayıcılar tarafından desteklenmez böylece :nth-of-type

browser.click('.clickable-button:nth-of-type(1)'); 

BTW :nth-of-type CSS3 parçasıdır kullanabilirsiniz.

+0

Bu çalışmaz. – Michal

1

CSS seçici kullanmanın yanı sıra, XPath

browser .useXpath() //ignore this line if you already selected xpath as strategy .click('(//div[@class="clickable-button"])[1]')

ilk düğmeyi bulmak için yapabileceğiniz, başka bir seçenektir. Reference

İlgili konular