我可以通过 driver.find_element_by_xpath('//*[@id="app"]/table/tbody/tr[1]/td[1]') 的 xpath 找到元素
.但我可以通过任何方式返回所有子元素,如标签和标签 xpath?
<tr>
<td class="">
<div>
<a href="/user/1">
<!-- react-text: 6011 -->user first name |
<!-- /react-text -->
<!-- react-text: 6012 -->
<!-- /react-text -->
<!-- react-text: 6013 -->user last name
<!-- /react-text -->
</a>
<div>
<span>
<!-- react-text: 6014 -->town<!-- /react-text -->
<!-- react-text: 6015 --> | <!-- /react-text -->
<!-- react-text: 6015 -->month<!-- /react-text -->
<!-- react-text: 6081 --> | date<!-- /react-text -->
<!-- react-text: 6082 -->year<!-- /react-text -->
</span>
</div>
</div>
</td>
<td class=""><a href="/address/1">1</a>
<div class="">city</div>
</td>
</tr>
最佳答案
关键是使用 xpath .//*
获取当前节点的所有子节点。 .
选择当前元素 & //*
选择所有元素,这使得整个 xpath 选择当前元素的所有子元素。您的代码将如下所示:
parent_elem = driver.find_element_by_xpath('//*[@id="app"]/table/tbody/tr[1]/td[1]')
child_elements = parent_elem.find_elements_by_xpath('.//*')
关于python - 在python中使用selenium webdriver从父xpath中找出所有子元素xpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43478965/