要使用 python 读取网页元素,请按照以下步骤操作:导入 selenium 库中的 webdriver。启动浏览器,例如 chrome 驱动程序。使用 find_element_by_* 方法查找网页元素。使用 element.text 读取元素文本。使用 element.get_attribute() 读取元素属性。使用 element.location 和 element.size 读取元素位置和大小。
网页元素读取指南
网页元素读取是网站自动化和数据提取的关键任务。本文将指导你如何使用 Python 和 Selenium 读取网页元素的文本、属性和位置。
导入必要的库
from selenium import webdriver
启动浏览器
driver = webdriver.Chrome() # 或其他浏览器驱动程序
查找网页元素
使用 Selenium 的 find_element_by_*
方法查找元素:
find_element_by_id("my_id")
find_element_by_name("my_name")
find_element_by_class_name("my_class")
find_element_by_xpath("//element/path")
读取元素文本
text = element.text
读取元素属性
value = element.get_attribute("attribute_name")
读取元素位置
location = element.location # 返回 {x, y} 坐标
size = element.size # 返回 {width, height}
实战案例
从 IMDb 网站提取电影标题和评分:
# 打开 IMDb 网站
driver.get("https://www.imdb.com/")
# 获取前 10 部电影的标题和评分
titles = []
ratings = []
for i in range(1, 11):
# 查找标题元素
title_element = driver.find_element_by_xpath(f"(//h3)[{i}]/a")
# 读标题
title = title_element.text
# 查找评分元素
rating_element = driver.find_element_by_xpath(f"(//strong)[{i}]")
# 读评分
rating = rating_element.text
titles.append(title)
ratings.append(rating)
# 打印结果
for title, rating in zip(titles, ratings):
print(f"{title}: {rating}")
这将打印类似于以下内容的结果:
The Shawshank Redemption: 9.3
The Godfather: 9.2
The Dark Knight: 9.0
Schindler's List: 9.0
12 Angry Men: 9.0
...