使用以下行时找到所有子div
元素的列表:
driver.find_element_by_css_selector('div[id="panel2LocListShell"]').find_elements_by_tag_name('div')
但是,当使用Xpath查找最后一个子div
元素时,会出现超时错误:
例如:
WebDriverWait(driver,20).until(EC.presence_of_element_located((By.XPATH, './/div[@id = panel2LocListShell]/div[last()]')))
关于此Xpath行,应该更改什么(?'.//div[@id = panel2LocListShell]/div[last()]'
答案 0 :(得分:1)
driver.find_element_by_css_selector('div[id="panel2LocListShell"]').find_elements_by_tag_name('div')
此处,selenium会在div
元素内div
找到所有id="panel2LocListShell"
子元素在任意深度。
.//div[@id = panel2LocListShell]/div[last()]
在这种情况下,您正在寻找{em}直接位于 div
元素下的div
元素id="panel2LocListShell"
。另外,panel2LocListShell
应该加上引号。
修正表达式:
.//div[@id = "panel2LocListShell"]//div[last()]