python之selenium学习手册

本文介绍了selenium的用途,详细讲解了环境安装步骤,包括selenium与浏览器驱动的匹配。接着,阐述了selenium的基本使用,如定位元素、元素交互、动作链、等待策略以及如何获取页面数据和处理Cookie。最后,文章给出了实战案例,展示了如何利用selenium获取博客内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、selenium简介

在这里插入图片描述
selenium可以模拟真实浏览器,自动化测试工具,能完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器。

更多参考: https://baike.baidu.com/item/Selenium/18266?fr=aladdin

二、环境安装

1、下载安装selenium:

pip install selenium

2、下载浏览器驱动程序:

  • http://chromedriver.storage.googleapis.com/index.html

3、查看自己浏览器版本

  • ​ 谷歌浏览器: chrome://settings/help ,或者 设置——关于Chrome——找到chrome版本

选择适合自己浏览器版本的驱动下载,windows下载 chromedriver_win32.zip

三、selenium的简单案例

from selenium import webdriver# 导入库

browser = webdriver.Chrome(r"驱动程序路径")  # 声明浏览器,创建浏览器对象(句柄)

url = 'https:www.baidu.com'

browser.get(url) # 打开浏览器预设网址
print(browser.page_source) # 打印网页源代码
browser.close() # 关闭当前标签页

browser.quit()

四、selenium支持浏览器

Selenium支持非常多的浏览器,如Chrome、Firefox、Edge等,还有Android、BlackBerry等手机端的浏览器。另外,也支持无界面浏览器 PhantomJS。

from selenium import webdriver
  
browser_obj = webdriver.Chrome()  # 谷歌浏览器
browser_obj = webdriver.Firefox()  # 火狐浏览器
browser_obj = webdriver.Edge()  #IE 浏览器
browser_obj = webdriver.PhantomJS()  # 无可视化界面的浏览器(无头浏览器)
browser_obj = webdriver.Safari()  # 苹果macOS中浏览器

五、selenium的基本使用

1、简单入门

from selenium import webdriver

# chromedriver文件的绝对路径
driver_path = r"D:\programApp\chromedriver\chromedriver8104.exe"

# 初始化一个browser 并且指定Chromedrive的绝对路径
browser = webdriver.Chrome(executable_path=driver_path)

# 请求网页
browser.get('https://www.baidu.com')

# 通过page_source获取网页源代码
print(browser.page_source)


browser.close()  # 关闭当前页面

browser.quit()  # 退出浏览器

2、定位元素

方法 功能
find_element_by_id() 根据id来查找某个元素。
find_element_by_class_name() 根据类名查找元素
find_element_by_name() 根据name属性的值来查找元素
find_element_by_tag_name() 根据标签名来查找元素
find_element_by_xpath() 根据xpath语法来获取元素
find_element_by_css_selector() 根据css选择器选择元素
find_element_by_link_text() 通过文本内容定位
find_element_by_partial_link_text() 通过文本内容定位

定位到百度输入框,通过搜索 金鞍少年的博客 看页面跳转来判断是否定位成功

from selenium import webdriver
driver_path = r"D:\programApp\chromedriver\chromedriver8104.exe"
driver = webdriver.Chrome(executable_path=driver_path)

driver.get('https://www.baidu.com')

# # 01、根据id来查找某个元素
# inputTag = driver.find_element_by_id('kw')
# inputTag.send_keys('金鞍少年的博客')

# # 02、根据类名来查找某个元素
# # inputTag = driver.find_element_by_class_name('s_ipt')
# # inputTag.send_keys('金鞍少年的博客')

# # 03、根据name的属性值来查找元素
# inputTag = driver.find_element_by_name('wd')
# inputTag.send_keys('金鞍少年的博客')

# # 04 、根据标签名来查找元素
# inputTag = driver.find_element_by_tag_name('input')
# inputTag.send_keys('金鞍少年的博客')
'''
定位到的第一个input是style标签下的input,所有不能send——keys
'''

# # 05 、根据xpath语法来获取元素
# inputTag = driver.find_element_by_xpath('//input [@id="kw"]')
# inputTag.send_keys('金鞍少年的博客')

# 06、根据css选择器来获取元素
inputTag = driver.find_element_by_css_selector('#form #kw'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值