2016-03-28 17 views
2

Selenium View All Companies butonuna tıklamaya çalışıyorum ama ne yaptığımı emin değilim. Bu no element foundSelenium elementi bulun ve üzerine tıklayın

html kodu

<div class="screener-toggles"> 
    <div class="buttons"> 
    <span class="button selected" data-name="advanced-screener">Search by Screener<span data-name="advanced-screener" class="arrow selected"></span></span> 
    <span class="button" data-name="alpha-factors">Search by Alpha Factors<span data-name="alpha-factors" class="arrow"></span></span> 
    <span class="button" data-name="all-companies">View All Companies<span data-name="all-companies" class="arrow"></span></span> 
    </div> 
</div> 

piton kodu ben find_elements_by_class_name kullanarak olmamalıdır

element1 = driver.find_elements_by_class_name('View All Companies') 
element1.click() 
# I have tried all-companies instead of View All Companies as well. But still doesn't work 

yazdı döndürür?

Neyi yanlış yaptığım hakkında herhangi bir tavsiye büyük beğeni topluyor!

cevap

1

View All Companies metin değil sınıftır: dikkatle

size

+0

Teşekkürler! 'Css_selector' olarak da düşünmeliydim. –

1

Evet, find_element_by_class_name kullanım yerine find_elements_by_class_name kullanmamalısınız. Konumlayıcınızın 1 öğeden daha fazlasını döndürmesini beklediğinizde

find_elements_by_class_name kullanılır. Belirli bir öğe için sadece find_element_by_class_name kullanın.

Başka bir şey, HTML kodunuza herhangi bir sınıf adını View All Companies olarak göremem. "//span[contains(text(),'View All Companies')]"

+0

içeren data-name özelliğe göre metne göre bakmayı deneyin Gönderdiğim HTML? –

+0

Evet yapabilirsin ... –

2

deneyin xpath yardımcı olacaktır Umut HTML'nizdeki içine bakmak ve sınıfadı veya diğer cihazlardan seçiniz. .. dayanan tuşuna başka yolu var mı css_selector veya xpath

element1 = find_element_by_css_selector('span:contains("View All Companies")') 

element1 = find_element_by_xpath('//span[contains(text(), "View All Companies")]') 

ile Veya düğmeleri ile ilgili tüm HTML oldu all-companies

element1 = find_element_by_css_selector('span[data-name*="all-companies"]') 
+1

için teşekkürler @Leon. Bu harika çalışıyor! –

İlgili konular