使用Python Selenium库如何获取网页中的全部元素
解决方案
要获取当前页面的全部DOM元素,直接用通配符*匹配所有标签即可,两种常用写法效果完全一致:
写法1:使用CSS选择器
Selenium 3 及更早版本
all_elements = driver.find_elements_by_css_selector("*")
Selenium 4 及以上版本
首先导入By依赖:
from selenium.webdriver.common.by import By
调用定位方法:
all_elements = driver.find_elements(By.CSS_SELECTOR, "*")
写法2:使用标签名定位
和CSS选择器逻辑完全相同,同样传入通配符即可:
Selenium 3 及更早版本
all_elements = driver.find_elements_by_tag_name("*")
Selenium 4 及以上版本
all_elements = driver.find_elements(By.TAG_NAME, "*")
补充说明
- 以上方法返回的列表包含当前页面已渲染的全部DOM元素,包括根节点
html、head、body以及所有层级的嵌套子元素 - 如果需要筛选可见元素、特定类型元素等,可遍历返回的
all_elements列表,结合元素属性做二次过滤
内容的提问来源于stack exchange,提问作者Demaxl
相关产品推荐
相关产品推荐

