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

标签 python python-3.x selenium selenium-webdriver selenium-chromedriver

我可以通过 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/

相关文章:

python - 如何在 python 3.4.4 中一次将相同的转换逻辑应用于多个列

python - Boruvka 算法有向图的最小生成树

python-pptx ".ppt"处理变通

c# - 哪个网页元素标签更适合使用 Webdrive 定位和获取值(value)

python - 删除带有文件字段的 Django 模型对象是否会删除用于文件的存储空间?

python - 解析 ICINGA status.dat 文件

python - 如果某些行的列中的值丢失,如何应用 TextBlob?

python - 如何在 Python Seaborn Heatmap 中添加文本加值

java - Selenium java 浏览器 session 重用

java - 想要检索给定 WebElement 的 Xpath