Python爬虫开发之Selenium模块详细使用方法与实例全解
什么是Selenium?
Selenium 是一个自动化测试工具,支持多种浏览器(Chrome、Firefox、IE、Edge 等)和多种操作系统(Windows、Linux、MacOS 等)。Selenium 可以用于自动化测试、爬虫和数据采集等领域。
安装
使用 pip
命令安装:
pip install selenium
同时还需要安装对应浏览器的驱动(例如 Chrome 的驱动为 chromedriver
),安装方法可以参考官方文档:https://www.selenium.dev/documentation/zh-cn/webdriver/driver_requirements/
基本用法
打开网页
from selenium import webdriver
driver = webdriver.Chrome() # 创建 Chrome 浏览器对象
driver.get("https://www.baidu.com") # 打开网页
查找元素
# 通过 ID 查找
elem = driver.find_element_by_id("kw")
# 通过 Name 查找
elem = driver.find_element_by_name("wd")
# 通过 Class Name 查找
elem = driver.find_element_by_class_name("s_ipt")
# 通过 CSS Selector 查找
elem = driver.find_element_by_css_selector("#kw")
# 通过 XPath 查找
elem = driver.find_element_by_xpath("//input[@id='kw']")
输入文本
elem.send_keys("Python")
点击按钮
button = driver.find_element_by_id("su")
button.click()
获取元素的属性值
elem.get_attribute("value")
关闭浏览器
driver.quit()
示例:京东商品筛选
以下代码演示了如何使用 Selenium 筛选京东商品:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
# 创建 Chrome 浏览器对象
driver = webdriver.Chrome()
# 打开京东首页
driver.get("https://www.jd.com")
# 输入搜索关键词
elem = driver.find_element_by_css_selector("#key")
elem.send_keys("手机")
elem.send_keys(Keys.RETURN)
# 筛选商品
filter_elem = driver.find_element_by_css_selector("#J_filter > div.f-line.top > div.f-sort > a:nth-child(2)")
filter_elem.click()
# 获取商品列表
goods = driver.find_elements_by_class_name("gl-item")
# 输出商品信息
for item in goods:
name = item.find_element_by_class_name("p-name").text
price = item.find_element_by_css_selector(".p-price i").text
print(name, price)
# 关闭浏览器
driver.quit()
示例:自动登录 GitHub
以下代码演示了如何使用 Selenium 自动登录 GitHub:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
USER_NAME = "your_username"
PASSWORD = "your_password"
# 创建 Chrome 浏览器对象
driver = webdriver.Chrome()
# 打开 GitHub 登录页面
driver.get("https://github.com/login")
# 输入用户名和密码
elem = driver.find_element_by_id("login_field")
elem.send_keys(USER_NAME)
elem = driver.find_element_by_id("password")
elem.send_keys(PASSWORD)
elem.send_keys(Keys.RETURN)
# 登录成功后跳转到 GitHub 主页
assert "GitHub" in driver.title
# 关闭浏览器
driver.quit()
以上就是 Selenium 的基本用法和两个示例,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python爬虫开发之selenium模块详细使用方法与实例全解 - Python技术站