给出一个子元素e
,有没有一种好的(或Pythonic的)方法来找到所有带有标签div
和一个类cls
的孩子?我已经尝试过e.find_element_by_xpath('div[starts-with(@class, "cls")]')
,但似乎没有在e
中进行搜索。似乎返回了树中的第一个匹配项。
答案 0 :(得分:1)
尝试以下
children = e.find_elements_by_xpath('./div[contains(@class, "cls")]')
请注意,您需要使用./
启动XPath,这意味着当前节点的直接子节点(e
)
如果元素是由JavaScript动态生成的,请尝试等待它们出现在DOM中:
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.common.by import By
children = wait(e, 10).until(EC.presence_of_all_elements_located((By.XPATH, './div[contains(@class, "cls")]')))