Selenium快速入门笔记

149 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第1天,点击查看活动详情

Selenium实战案例可以查看这篇文章Selenium+Python刷B站视频播放量

一、环境搭建

安装Selenium库

  • 安装命令如下:

image.png

下载chromedriver版本,[点击查看下载网站]()

二、Python-Selenium实操

导入Webdriver模块

image.png

创建chrome浏览器对象

image.png

查找需要操作的元素

options = webdriver.ChromeOptions()

对元素执行相应操作(单击)

image.png

释放资源

  • webdriver是服务端代理,当自动化结束时,需要记得释放资源 image.png

三、Selenium三大等待

等待的作用

等待是为了提高自动化运行的成功率,在指定等待的地方,进行等待,以便于系统响应,再继续进行

强制等待

  • 当代码运行带强制等待这一行是,无论出于什么情况,都强制性等待指定时间
  • 强制等待方法的调用如下

image.png

隐式等待

  • 隐藏起来的等待,一次设置,终生有效,针对当前的WebDriver对象进行等待时长的设置
  • 对webdriver对象设置全局等待,每一次操作,如遇到页面加载,则默认进入隐式等待
  • 隐式等待设置如下(设置了最长为10s的等待时间):

image.png

  • 如果设置了隐式等待,当页面还在刷新,即为下图状态,或遇到元素无法找到时,会进入隐式等待

image.png

  • 如果等待超过了最长时间,就继续运行之后的代码(遇到元素无法找到也不会报错)

显式等待

  • 光明正大的等待,专门用于等待指定的元素对象
  • 设置显式等待方法如下,如果超时后未找到指定元素,会抛出指定异常,message为异常的信息
# 导入等待模块
from selenium.webdriver.support.wait import WebDriverWait
# 设置显示等待
WebDriverWait(driver,10,0.5).until(lambda el:driver.find_element(By.XPATH,**'//*[@id="1"]/h3/a'**),message=**'元素未找到'**)
  • 当多个等待被一同调用时,系统的等待时间取决于最长的时间

四、八大元素定位

image.png