如何获取元素<h1>,然后获取下一个同级<h2>和<p>元素



我正在用python处理Selenium问题。我正在尝试用 h1 标签收集每个元素,并在该标签之后,我想获取最接近的 h2 和段落文本标签并将该数据放入对象中。

我当前的代码如下所示:

cards = browser.find_elements_by_tag_name("h1")
ratings = browser.find_elements_by_tag_name('h3')
descriptions = browser.find_elements_by_tag_name('p')
print(len(cards))
print(len(ratings))
print(len(descriptions))

这会产生不一致的数字。

要获取<h1>标记元素,然后获取下一个同级<h2><p>标记元素,可以使用以下解决方案:

cards = browser.find_elements_by_tag_name("h1")
ratings = browser.find_elements_by_xpath("//h1//following-sibling::h2")
descriptions = browser.find_elements_by_xpath("//h1//following-sibling::p")
print(len(cards))
print(len(ratings))
print(len(descriptions))

最新更新