Selenium的安装
因为Selenium有许多环境库,所以使用pip install selenium
安装可能会失败,推荐使用Anaconda下的命令conda install selenium
来安装,安装成功后显示如下:
Python环境搭建请参考:Windows10下Anaconda3(Python3)安装方法
- 各大浏览器驱动的安装
除了Python的第三方库的安装,还需要下载对应浏览器的相关驱动,相关下载链接如下:
Selenium环境变量的配置
- 因为selenium运行时需要指定执行驱动的路径,所以最好将驱动配置到环境变量中,这样可以方便代码的书写
- 简单方法:
因为我们的Python环境是Anaconda提供的,而Anaconda安装时是自动配置了环境变量的,所以可以把驱动放到Anaconda的安装目录下
- 复杂方法:
右键此电脑->属性->高级系统设置->环境变量->新建
Selenium的使用
- 我们来写个简单案例,使用selenium来模拟用户使用百度搜索
- 效果图
- 源码
from selenium import webdriver#导入selenium模块 import time#导入时间模块 driver = webdriver.Chrome() driver.get('https://www.baidu.com/')#打开百度 input_text=driver.find_element_by_id("kw")#通过id名来查找标签 input_text.send_keys('CoderYYN')#往输入框里面输入查询字词 button=driver.find_element_by_id("su")#通过id名来查找标签 button.click()#点击百度一下按钮 time.sleep(5)#休眠5s为了看看效果 text=button.get_attribute('value')#获取查询按钮上面的文字值 print(text) driver.quit()#退出浏览器
Selenium的常用方法
- 获取驱动对象
driver = webdriver.Chrome()
- 浏览器配置项
from selenium.webdriver.chrome.options import Options
options = Options()
driver = webdriver.Chrome(options=options)
- 加载用户配置文件
options.add_argument(r'--user-data-dir=C:\Users\用户名\AppData\Local\Google\Chrome\User Data')
- 无头模式
options.add_argument('headless')
- 开发者模式
options.add_experimental_option('excludeSwitches',['enable-automation'])
- 禁止加载图片
prefs={"profile.managed_default_content_settings.images":2}
options.add_experimental_option("prefs", prefs)
- 浏览器窗口全屏
driver.fullscreen_window
- 最大化浏览器窗口
driver.maximize_window()
- 最小化浏览器窗口
driver.minimize_window()
- 设置网页加载等待时间
driver.implicitly_wait(5)
- 打开网页
driver.get('https://www.baidu.com/')
- 截图到文件的同级路径
driver.save_screenshot('cs.png')
- 获取当前标签页的源码
driver.page_source
- 刷新当前标签页
driver.refresh()
- 返回上一个页面
driver.back()
- 切换标签页
all_handles=driver.window_handles
driver.switch_to.window(all_handles[0])
- 切换Iframe
driver.switch_to.frame("xxx")
- 查找单个元素
- 根据标签的class属性查找标签
driver.find_element_by_class_name('cs')
- 根据标签的name属性查找标签
driver.find_element_by_name('cs')
- 根据标签的id属性查找标签
driver.find_element_by_id('cs')
- 根据标签的名称查找标签
driver.find_element_by_tag_name('cs')
- 根据xpath查找标签
driver.find_element_by_xpath()
- 根据CSS选择器查找标签
driver.find_element_by_css_selector()
- 根据标签的class属性查找标签
- 查找多个元素
- 在element后面加s即可
- 对于标签对象
click()
点击标签text
获取标签的值get_attribute("src")
获取标签的属性值send_keys('内容')
往标签里面输入内容
- 关闭浏览器
driver.quit()
总结
Selenium是个非常优秀且使用广泛的Web自动化测试工具,我们可以使用它来完成包括爬虫、抢票、测试等多种需求,灵活运用这个工具可以使我们的生活更加快捷便利。
我的个人博客网站是:www.coderyyn.cn
上面会不定期分享有关爬虫、算法、环境搭建以及有趣的帖子
欢迎大家一起交流学习
转载请注明