Watir

2016-03-21 17 views
0

'da bir JavaScript araç ipucuna başvurma Bir araç üzerinde gezinmeyi otomatikleştirmeye çalışıyorum ve metin sınıfındaki metni doğrulayın. Kodum doğru döner, ancak bana boş bir ifade verir. Bu yardımcı olursa benim araç ipucu JavaScript’te yazılmıştır. # puts $browser.div(:class, 'device_info').p(:class, 'gridfield_tooltip').span(:class, 'title_text').textWatir

İşte html

enter image description here

+0

Sorunuzu "Java" yerine "JavaScript" olarak değiştirdim. Aynı şey değildir ve terimler birbirinin yerine kullanılamaz. Bir keresinde benden daha akıllı bir kişi olarak, Java hamster hamster için olduğu gibi JavaScript için. –

cevap

0

text yöntem yalnızca şu anda görünür metin döndürür. Öğe görünür olmadığında boş bir dize oluşacaktır. araç ipucu görünmesi için Watir kontrol edecek olması da bir olasılıktır (bekleyin uygulamasına bağlı

  • Tetik araç ipucu görünmesini ve
  • : Bu bir araç ipucu olduğundan

    yapmanız gerekenler ipucu görüntülenen tamamlanmadan önce eleman metin)

Bu hover ve when_present yöntemlerle yapılabilir:

e = $browser.div(:class, 'device_info').p(:class, 'gridfield_tooltip').span(:class, 'title_text') 
e.hover 
e.when_present.text 

Yalnızca ipucu işlevlerini değil, metni kontrol etmekle ilgileniyorsanız, bunun yerine öğenin iç HTML'sini kontrol edebilirsiniz. Bu, öğenin görünür olup olmadığına bakılmaksızın başlık metnini döndürür.

e = $browser.div(:class, 'device_info').p(:class, 'gridfield_tooltip').span(:class, 'title_text') 
e.inner_html 
+0

Araç ipucunun görünür olmasının tek yolu, üzerine gelmenizdir. Bir e = $browser.div(:class, 'device_info').p(:class, 'gridfield_tooltip').span(:class, 'title_text').hover e.when_present.text denedim ve –

+0

Ah özür dilerim. Araç ipucunu gösterme kodunu aldığını farz ettim. –

1

Bunu kullanarak sonuna: Sadece bir satır yazdırır

device_name = $browser.div(:class, 'device_info').div.span(:id, 'FriendlyName').a 
device_name.hover 
tooltip = $browser.div(:class, 'device_info').span(:class, 'tooltip_init') 
tooltip.hover 
title_text = $browser.div(:class, 'device_info').p(:class, 'gridfield_tooltip').span(:class, 'title_text') 
puts title_text.when_present.text 

.

İlgili konular