使用 python 中的 selenium webdriver 从父 xpath 中找出所有子元素 xpath

2024-03-22

我可以通过 xpath 找到该元素driver.find_element_by_xpath('//*[@id="app"]/table/tbody/tr[1]/td[1]')。但有什么方法可以返回所有子元素,例如标签和标签 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('.//*')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 python 中的 selenium webdriver 从父 xpath 中找出所有子元素 xpath 的相关文章

随机推荐