0


Web测试自动化工具Selenium的使用

Web测试自动化工具Selenium的使用

Selenium是一个Web应用测试的自动化工具,它通过模拟点击实现对Web应用的功能测试。测试时,除了Selenium,还需要对应的浏览器驱动,如在Chrome实现自动点击,则需要chromedriver。

Selenium支持多种语言和多种浏览器,本文仅记录python+chrome的使用。


1. 安装python

2. 安装Selenium
pip install selenium

注意:

  1. 若安装的Selenium版本>=4.6,Selenium会自动下载对应浏览器的驱动,无需手动下载。Selenium更新说明:Unable to Locate Driver Error
  2. 若Selenuim版本>=4.6,但是Selenium无法自动下载驱动,可以通过手动下载并配置驱动。
  3. 若Python版本低于3.10,可能出现Open SSL版本过低的问题(ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with XXX),网上很多解决方法都是下载Open SSL的源码去编译,也可以选择升级Python版本。
3. 下载chromedriver及配置(可选)
下载

chrome版本和chromedriver版本是一一对应的(并非严格对应,下载离chrome版本最近的chromedriver即可),在chrome浏览器访问chrome://version/可以查看chrome版本,然后在https://chromedriver.chromium.org/downloads下载跟chrome浏览器版本一致的chromedriver。

如果chrome是最新版本,对应版本的chromedriver可能并没有发布。如果chrome是最新版本,使用最新版本的chromedriver无法驱动chrome时,可以在https://googlechromelabs.github.io/chrome-for-testing/下载未正式发布的测试版chromedriver。

配置

将步骤3下载的压缩包解压,拿到chromedriver.exe。注意,很多教程会让你把chromedriver.exe放到Chrome安装目录下的Application文件夹中,并把Application文件夹的路径配置到环境变量path中。实际上,你放在任何一个目录都行,然后把这个目录添加到环境变量path即可。

如果你用PyCharm进行调试,可能碰到已经将chromedriver配置到环境变量中,但还是启动浏览器失败的情况,这可能是因为当前项目的虚拟环境中没有chromedriver(此时环境变量中的chromedriver并未起作用)。解决办法是将chromedriver复制到当前项目的虚拟环境中,虚拟环境路径可通过

File -> Settings -> Project: [项目名称] -> Project Interpreter

, 查看Project Interpreter的值获取。

4. 示例代码
#!/usr/bin/env python3# -*- coding: utf-8 -*-import time

from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By

# 打开Chrome浏览器
driver = webdriver.Chrome()# 最大化窗口
driver.maximize_window()# 页面加载最长等待时间
driver.implicitly_wait(20)# 打开网站
driver.get('http://www.baidu.com')# 根据名称定位输入框,并输入内容到输入框
driver.find_element(By.NAME,"wd").send_keys("Selenium使用教程")# 根据id定位”百度一下“按钮并点击
driver.find_element(By.ID,"su").click()# 获取Action对象,模拟鼠标操作
actions = ActionChains(driver)# 获取页面高度
check_height = driver.execute_script("return document.body.scrollHeight;")print(check_height)# 往下滚动一个页面的高度(模拟鼠标滚轮)
driver.execute_script("window.scrollBy(0,{})".format(check_height))# 鼠标悬停
actions.move_to_element(driver.find_element(By.LINK_TEXT,"设置")).perform()# 通过链接的文本定位元素并点击
driver.find_element(By.LINK_TEXT,"搜索设置").click()# 通过xpath切换到”高级搜索“
driver.find_element(By.XPATH,"/html/body/div[3]/div[5]/div/div/ul/li[2]").click()# 关闭弹窗
driver.find_element(By.XPATH,'//*[@id="wrapper"]/div[5]/span/i').click()# 清空搜索栏内容
driver.find_element(By.NAME,"wd").clear()# 向上滚动页面
driver.execute_script("window.scrollBy(0,{})".format(-check_height))print(driver.current_url)
driver.find_element(By.NAME,"wd").send_keys("如何使用百度")
driver.find_element(By.ID,"su").click()
time.sleep(10)# 关闭浏览器
driver.quit()

本文转载自: https://blog.csdn.net/java_t_t/article/details/134796966
版权归原作者 java_t_t 所有, 如有侵权,请联系我们删除。

“Web测试自动化工具Selenium的使用”的评论:

还没有评论