学习Selenium框架

Selenium 是一个 Web 应用的自动化框架。

通过它,我们可以写出自动化程序,像人一样在浏览器里操作web界面。 比如点击界面按钮,在文本框中输入文字 等操作。

而且还能从web界面获取信息。 比如获取12306票务信息,招聘网站职位信息,财经网站股票价格信息 等等,然后用程序进行分析处理。

转自 http://www.python3.vip/doc/tutorial/selenium/01/ 黑月白羽

selenium 环境

Python自动化测试命令汇总
准备工作
1、selenium 客户端库。(客户端安装)
安装客户端库
不同的编程语言选择不同的Selenium客户端库。

对应我们Python语言来说,Selenium客户端库的安装非常简单,用 pip 命令即可。

打开 命令行程序,运行如下命令

pip install selenium

2、浏览器驱动。(由厂家提供)以我自己的为列
我本地的版本 78.0.3904.108
浏览器驱动版本 78.0.3904.105

Python自动化测试命令汇总
安装包下载地址引用黑月白羽。

https://chromedriver.storage.googleapis.com/index.html

3、对应的浏览器比如 chrome浏览器对应chrome驱动。
比如:当前Chrome浏览器版本是72, 就需要下载72开头的目录里面的驱动程序 。

打开目录,里面有3个zip包,分别对应Linux、Mac、Windows平台。

如果我们是Windows平台的电脑,就下载 chromedriver_win32.zip

这是个zip包,下载下来之后,解压里面的程序文件 chromedriver.exe 到某个目录下面,注意这个目录的路径最好是没有中文名和空格的。

比如,解压到 d:\webdrivers 目录下面。

也就是保证我们的Chrome浏览器驱动路径为 d:\webdrivers\chromedriver.exe

基于selenium的web自动化环境搭建就是这些,比较简单。

selenium 自动化流程

我们再总结一下,selenium 自动化流程如下:

1、自动化程序调用Selenium 客户端库函数(比如点击按钮元素)
2、客户端库会发送Selenium 命令 给浏览器的驱动程序
3、浏览器驱动程序接收到命令后 ,驱动浏览器去执行命令
浏览器执行命令
4、浏览器驱动程序获取命令执行的结果,返回给我们自动化程序
5、自动化程序对返回结果进行处理

自动化打开指定网页

from selenium import webdriver

创建 WebDriver 对象,指明使用chrome浏览器驱动
wd = webdriver.Chrome(r’d:\webdrivers\chromedriver.exe’)

调用WebDriver 对象的get方法 可以让浏览器打开指定网址
wd.get(‘https://www.baidu.com’)

其中,下面这行代码,就会运行浏览器驱动,并且运行Chrome浏览器

wd = webdriver.Chrome(r’d:\webdrivers\chromedriver.exe’)

注意,等号右边 返回的是 WebDriver 类型的对象,我们可以通过这个对象来操控浏览器,比如 打开网址、选择界面元素等。

而下面这行代码,就是使用 WebDriver 的 get 方法 打开网址 百度

wd.get(‘https://www.baidu.com’)

执行上面这行代码时,自动化程序就发起了 打开百度网址的 请求消息 ,通过浏览器驱动, 给 Chrome浏览器。

Chome浏览器接收到该请求后,就会打开百度网址,通过浏览器驱动, 告诉自动化程序 打开成功。

执行完自动化代码,如果想关闭浏览器窗口可以调用WebDriver对象的 quit 方法,像这样 wd.quit()

浏览器驱动目录加入环境变量Path
前面,我们的代码创建 WebDriver对象时,需要指定浏览器驱动路径,比如

wd = webdriver.Chrome(r’d:\webdrivers\chromedriver.exe’)

如果,我们把浏览器驱动 所在目录 加入环境变量 Path, 再写代码时,就可以无需指定浏览器驱动路径了,像下面这样

wd = webdriver.Chrome()

因为,Selenium会自动在环境变量 Path 指定的那些目录里查找名为chromedriver.exe 的文件。

一定要注意的是, 加入环境变量 Path 的,

不是浏览器驱动全路径,比如 d:\webdrivers\chromedriver.exe

而是 浏览器驱动所在目录,比如 d:\webdrivers

from selenium import webdriver

创建 WebDriver 实例对象,指明使用chrome浏览器驱动

wd = webdriver.Chrome(r’d:\webdrivers\chromedriver.exe’)

WebDriver 实例对象的get方法 可以让浏览器打开指定网址

wd.get(‘http://f.python3.vip/webauto/sample1.html’)

根据 class name 选择元素,返回的是 一个列表

里面 都是class 属性值为 animal的元素对应的 WebElement对象

elements = wd.find_elements_by_class_name(‘animal’)

取出列表中的每个 WebElement对象,打印出其text属性的值text属性就是该 WebElement对象对应的元素在网页中的文本内容

for element in elements:
print(element.text)

所以 下面的代码,可以打印出 element 对应 网页元素的 文本

print(element.text)

相关文章:

  • 2023-03-21
  • 2021-12-02
  • 2021-06-14
  • 2021-11-14
  • 2021-10-15
  • 2021-12-09
  • 2021-12-06
猜你喜欢
  • 2021-12-03
  • 2022-12-23
  • 2021-11-20
  • 2021-12-11
  • 2021-10-14
  • 2021-06-20
  • 2022-12-23
相关资源
相似解决方案