2016-03-29 22 views
0

Diğer seçenekler listesinden "seltarget" i seçmeye çalışıyorum.Python Selenium: Link metnine göre öğe bulunamıyor

HTML: Bir piton dosyasına ihraç zaman <div class="filter-item" data-reactid=".3.1.0.0.1.0.0.3.0.0.0.3">seltarget</div>

ben xpath tarafından öğe bulun önerir: "seltarget" sadece 5 olur, çünkü bu şu an için çalışıyor driver.find_element_by_xpath("//div[@id='quickswitcher']/div/nav/ul/li/div/div/menu/div[2]/div/div/div/div[5]").click()

listede. Yukarıdaki satır, listede 5. seçenek olanı seçecektir. Ben daha spesifik olmak ve "seltarget" öğesini seçmek istiyorum.

+0

http://stackoverflow.com/questions/5441680/css-selector-based-on-element-text Eğer reactid tarafından seçebilir veya seltarget – TheoretiCAL

cevap

1

div numaralı telefonu bulmak için aşağıdakileri kullanabilirsiniz.

driver.find_element_by_xpath("//div[text()='seltarget']") 
4

link_text ile arama, yalnızca <a> etiketleriyle çalışır. benzersiz

driver.find_element_by_class_name('filter-item').click() 

Ya

driver.find_element_by_css_selector('[data-reactid*="3.1.0.0.1.0.0.3.0.0.0.3"]').click() 

metne göre bulmak için data-reactid özellik ayrıca css_selector

driver.find_element_by_css_selector('div:contains("seltarget")').click() 

Ya xpath

kullanabilirsiniz eğer bu eleman bulmak için Sınıfa kullanabilirsiniz
driver.find_element_by_xpath('//div[contains(text(), "seltarget")]').click() 
+0

ben "seçmek mümkün oldu bir yayılma ekleyebilir gör seltarget, bunu "data-reactid" ile bularak. Yine de onun adıyla seçebilmek istiyorum: "seltarget" Listedeki tüm seçenekler 'class =" filter-item "' Diğer öneriler? – Chris

+0

@Chris I, metne göre seçenekler ekledi – Guy