我有一个页面,其结构类似于

<body>
    <article>  <!--article no 1-->
        <h3>
        <h2>
            <h1>
                <a>  <!--first 'a' tag-->

        <article> <!--article no 2-->
            <h1>
            <h2>
                <a>  <!--second 'a' tag-->
        </article>
    </article>
</body>


现在我想要的是我要提取文章中的所有“ a”标签,但要确保没有“ a”标签来自任何嵌套

那是

articles = browser.find_elements_by_tag_name("article")
for i in article:
    print(i.find_elements_by_tag_name("a")


对于第一篇文章
现在,i.find_elements将在此商品标签内返回所有“ a”标签,而该标签还将嵌套在“商品标签”内,而“商品标签”本身嵌套在当前商品标签中,但我不希望这样

我想在文章2或任何嵌套文章中不对文章1'a'标签调用find_elements

最佳答案

如果要从非嵌套文章链接,请尝试:

articles = browser.find_elements_by_tag_name('article'):
for article in articles:
    print(article.find_elements_by_xpath('./*[not(descendant-or-self::article)]/descendant-or-self::a'))

关于python - 仅抓取特定标签,而没有来自该特定标签中嵌套标签的详细信息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52160845/

10-09 19:20
查看更多