Selenium自动化测试环境搭建

1、简介
Selenium是一款Web的自动化测试工具,Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持自动录制动作和自动生成C#、Java、JavaScript、Python、Ruby等不同语言的测试脚本。支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。

官网地址:https://www.selenium.dev/

Selenium自身不含浏览器的功能,它需要通过浏览器驱动与第三方浏览器结合在一起才能使用。

它的本质是通过测试脚本,借助于浏览器的驱动,来控制浏览器操作。

2、Selenium环境配置

2.1 Python环境安装
下载地址:https://www.python.org/
双击选择自定义安装,并将Python添加至PATH环境变量,下一步安装即可。
安装完毕后,cmd查看是否安装成功:

C:\Windows\whwtr>python --version
Python 3.10.6
C:\Windows\whwtr>
C:\Windows\whwtr>python -V
Python 3.10.6

能正常显示版本号,即表明Python环境已安装完成。

2.2 安装selenium库
C:\Users\whwtr>pip install selenium
指定版本号安装:
C:\Users\whwtr>pip install selenium==2.48.0

卸载selenium库:
C:\Users\whwtr>pip uninstall selenium

安装request库
C:\Users\whwtr>pip install requests

selenium安装完毕后,查看安装版本号:

C:\Windows\whwtr>pip show selenium
Name: selenium
Version: 4.4.3
Summary:
Home-page: https://www.selenium.dev
Author:
Author-email:
License: Apache 2.0
Location: d:\programs\python\python310\lib\site-packages
Requires: certifi, trio, trio-websocket, urllib3
Required-by:

C:\Windows\whwtr>

能正常显示selenium版本号,即表示selenium已安装完成。

2.3 浏览器驱动安装

常用selenium浏览器驱动下载地址:
Firefox(geckodriver):
https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.html
Chrome(chromedriver):
http://chromedriver.storage.googleapis.com/index.html
Edge:
https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/#downloads

将下载的驱动exe文件放在Python环境变量对应的目录即可;
本机Python环境变量路径为:D:\Programs\Python\Python310

注意:选择驱动时,要综合考虑Python版本、selenium版本和浏览器版本
例如报错:
(1)Exception: Failed to find firefox binary.
(2)SessionNotCreatedException: Message: session not created: This version of Microsoft Edge WebDriver only supports Microsoft Edge version 105

以上报错均是版本不匹配造成的。

测试代码:

C:\Users\whwtr>python
Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug  1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> from selenium import webdriver
>>> driver=webdriver.Chrome()
>>> driver.get("https://whwtree.com")
>>> print(driver.page_source)
<html class="no-js" lang="zh-cmn-Hans"><head>...
>>> driver.close()
>>>
>>> exit()

C:\Users\whwtr>

如果能正常打开如下窗口,则表示驱动已安装成功。

selenium-01.pngselenium-01.png

PhantomJS安装(非必须,按需安装)
PhantomJS无界面浏览器,主要用于Python爬虫等无界面场景。新版本的Selenium不再支持PhantomJS了,请使用Chrome或Firefox的无头版本来替代。

下载地址:http://phantomjs.org/download.html

将解压文件夹中的phantomjs.exe放入Python环境变量对应的目录即可。

测试代码:

from selenium import webdriver
driver=webdriver.PhantomJS()
driver.get("https://whwtree.com")
print(driver.page_source)
driver.close()

报错:

>>> driver=webdriver.PhantomJS()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'selenium.webdriver' has no attribute 'PhantomJS'
>>>

报错原因:新版selenium已经放弃了PhantomJS
解决办法:指定版本号,安装低版本的selenium或使用Chrome或Firefox的无头版本来替代。

添加新评论