Python爬虫-selenium模块

本文详细介绍了Python爬虫中selenium模块的使用,包括基本操作、解析数据、等待元素加载、动作链的执行、JavaScript交互以及XPath解析数据的方法,并通过具体案例进行演示,帮助读者掌握selenium在自动化爬取动态网页时的强大功能。
摘要由CSDN通过智能技术生成

selenium模块

基本使用
from selenium.webdriver import Chrome
# 导入自定义配置模块
from selenium.webdriver.chrome.options import Options

# 创建配置对象
chrome_options = Options()
# 谷歌文档提到需要加上这个属性来规避bug
chrome_options.add_argument('--disable-gpu')
# 不加载图片,可以提升速度
chrome_options.add_argument('blink-settings=imagesEnabled=false')
# 浏览器不提供可视化页面,Linux下如果系统如果无界面不加这条会启动失败
chrome_options.add_argument('--headless')
# 取消浏览器驱动提示
chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])

# 如果驱动路径设置到环境遍历中,可以不用传参数
# options 表示配置项
driver = Chrome(options=chrome_options)
# 访问百度
driver.get("https://www.baidu.com")
# 获取页面源码
text = driver.page_source
print(text)
解析数据
from selenium.webdriver import Chrome

driver = Chrome()
driver.get("https://www.baidu.com")

# selenium提供了很多用于解析数据的函数
# tag = driver.find_element_by_class_name("index-logo-src")
# tag = driver.find_element_by_css_selector(".index-logo-src")
# print(tag.text)
# 得到的是driver对象,不是父标签
# print(tag.parent)
# print(tag.get_attribute("src"))
# print(tag.tag_name)

# 一些特别的查找方式
# 根据链接的文本查找,文本完全匹配
# tag = driver.find_element_by_link_text("学术")
# 根据链接的文本查找,文本部分匹配
# tag = driver.find_element_by_partial_link_text("术")
# print(tag)

# name属性等于tj_trhao123
# tag = driver.find_element_by_name("tj_trhao123")
# 标签名称等于body
# tag = driver.find_element_by_tag_name("body")
# print(tag)
# print(tag.tag_name,tag.get_attribute("href"),tag.text)

#所有方法都有带s的版本 用来查找所有匹配的 返回一个列表
# res = driver.find_elements_by_class_name("mnav")
# print(res)

# 嵌套查找
# tag = driver.find_element_by_name("tj_trhao123")
# tag2 = tag.find_element_by_tag_name("a")


# 与显示相关的属性
tag = driver.find_element_by_class_name("index-logo-src")
print(tag.location)
print(tag.size)
等待元素加载
from selenium.webdriver import Chrome
from selenium.webdriver.common.keys import Keys
fr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值