Python ile Selenium'da WebElement'in tüm çocuklarını bir liste olarak almak mümkün mü?Selenium Python tüm çocuk elemanlarını al
32
A
cevap
54
Evet, bunu find_elements_by_css_selector("*")
veya find_elements_by_xpath(".//*")
aracılığıyla gerçekleştirebilirsiniz. Ancak bu, öğesinin tümünü öğesinin bir öğesinin bulunması için geçerli bir kullanım durumu gibi gelmiyor. Doğrudan/dolaylı tüm çocukları almak için pahalı bir işlemdir. Lütfen ne yapmaya çalıştığınızı açıklayın. Daha iyi bir yol olmalı.
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.stackoverflow.com")
header = driver.find_element_by_id("header")
# start from your target element, here for example, "header"
all_children_by_css = header.find_elements_by_css_selector("*")
all_children_by_xpath = header.find_elements_by_xpath(".//*")
print 'len(all_children_by_css): ' + str(len(all_children_by_css))
print 'len(all_children_by_xpath): ' + str(len(all_children_by_xpath))
22
Evet, alt öğeleri bir listeye almak için find_elements_by_
kullanabilirsiniz. http://selenium-python.readthedocs.io/locating-elements.html
örnek HTML: Burada piton bağlamaları bakın
<ul class="bar">
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
kullanabilirsiniz find_elements_by_
şöyle:
parentElement = driver.find_element_by_class("bar")
elementList = parentElement.find_elements_by_tag_name("li")
Belirli bir vaka ile yardım istiyorsanız, yayınınızı düzenleyebilir HTML ile ebeveyn ve çocuk öğeleri almak istiyoruz.
İlgili konular
- 1. Linq ile çocuk kayıt al
- 2. Jenkins: Python + Selenium
- 3. Tüm çocuk sınıflarını koşullu
- 4. C# Selenium WebDriver etiketten metin al
- 5. Selenium (Python) - SELECT
- 6. DOMDocument ile tüm vücut elemanlarının tüm elemanlarını nasıl çıkarabilirim?
- 7. Python/Selenium gizli/özel mod
- 8. Yineleme sırasında gerekli tüm bağlantılar alınamıyor - Selenium Python
- 9. Tüm Javascript Değişkenlerini al?
- 10. HttpClient tüm üstbilgileri al
- 11. Çıktı ilk dizesi, tüm çocuk dizeleri değil
- 12. Selenium
- 13. Python - pencereden metin al
- 14. Pencerenin tüm çocuk pencerelerini ayıkla
- 15. Tüm Çocuk Görünümlerini Kaldırma Görünümden
- 16. python selenium webscraping "NoSuchElementException" tanınmadı
- 17. Uzantıları Selenium ile Kullanma (Python)
- 18. Python Urllib2 Cookiejar with Selenium
- 19. Ekrandaki tüm metni al UIWebView
- 20. Tablodan tüm kayıtları al - EclipseLink
- 21. Koleksiyondaki tüm alt belgeleri al
- 22. MSMQ Tüm Özel Kuyrukları Al
- 23. C# Lucene tüm indeksi al
- 24. Android: tüm bildirimleri kodla al
- 25. ActiveMQ kuyruktan tüm iletileri al
- 26. Pytest: Tüm testlerin adreslerini al
- 27. Selenium
- 28. Tüm polimer elemanlarını zip dosyası olarak indirmek için nerede?
- 29. Web sayfasından meta açıklamasının içeriğini selenium webdriver'ı kullanarak al.
- 30. javascript iç içe geçmiş çocuk dizideki nesneyi al
+1: Harika! Ben sadece 'driver.find_elements_by_' kullanıyordum - bana sadece çocuklarını bulmak için bireysel elemanlarda kullanabileceğimi hissetmedim. – ArtOfWarfare
* find_element_by_class_name – Iorek