尚硅谷爬虫note010
一、selenium
用于web应用程序测试的工具
selenium测试直接运行在浏览器中,就像真正的用户一样
支持各种驱动:火狐、ie、chrome...
支持无界面浏览器
模拟浏览器,自动执行网页中的代码,实现动态加载
1. 如何安装selenium
1)查看浏览器版本,根据浏览器版本下载对应版本的驱动器
以chrome为例:
帮助--—关于浏览器
2)下载驱动器
下载浏览器版本对应的驱动器
将下载的驱动器压缩包解压后,将解压后的chrome driver.exe文件拖入python的工程项目中
3)安装selenium
pip install selenium
# _*_ coding : utf-8 _*_
# @Time : 2025/2/20 14:18
# @Author : 20250206-里奥
# @File : demo13_selenium—基本使用
# @Project : PythonPro17-21
# 1)导入selenium
from selenium import webdriver
# 2)创建浏览器,操作对象
path = 'chromedriver.exe'
browser = webdriver.Chrome(path)
# 3)访问网站
url = "https://www.baidu.com"
browser.get(url)
#page_source:获取网页源码
content = browser.page_source
print(content)
2.selenium的元素定位(6种方法)
自动化要做的就是模拟鼠标和键盘操作这些元素
操作元素前需要找到元素,webdriver提供很多定位元素的方法
# _*_ coding : utf-8 _*_
# @Time : 2025/2/20 14:51
# @Author : 20250206-里奥
# @File : demo14_selenium_元素定位
# @Project : PythonPro17-21
# 导入
from selenium import webdriver
path = 'chromedriver.exe'
browser = webdriver.Chrome(path)
url = 'https://www.baidu.com'
browser.get(url)
# 元素定位
#1)第一种,根据id找到对象 【常用】
# button = browser.find_element_by_id('su')
# print(button)
#2)第二种,根据标签属性的属性值获取对象
# button = browser.find_element_by_name('wd')
# print(button)
#3)第三种,elements:根据xpath语句获取对象 【常用】
button = browser.find_elements_by_xpath('//input[@id = "su"]')
#4)第四种,根据标签名字获取对象
button = browser.find_element_by_tag_name('input')
#5)第五种,使用bs4的语法获取对象 【常用】
button = browser.find_element_css_selector('#su')
#6)第六种,获取当前页面中哪个是链接文本
button = browser.find_elements_by_link_text('直播')