一、selenium是啥
- 框架底层使用JavaScript模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,就像真实用户所做的一样,从终端用户的角度测试应用程序。
- 使浏览器兼容性测试自动化成为可能,尽管在不同的浏览器上依然有细微的差别。
- 使用简单,可使用Java,Python等多种语言编写用例脚本。
二、selenium的安装
1、在python中安装selenium 命令:pip install selenium
安装成功:
2、使用谷歌浏览器,在谷歌浏览器的设置中查询自己的谷歌浏览器的版本:设置→关于
3、下载谷歌浏览器驱动
下载地址:https://registry.npmmirror.com/binary.html?path=chromedriver/
找到符合版本号的驱动文件夹
选择适合你电脑的驱动版本,window下载win32的就好了
下载之后,将解压的文件放在python的目录中
三、使用selenium写自动化网页操作脚本
1、import要用到的包
import time
import os
import shutil
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
咱也分不清这些包具体哪个是干嘛的,但是在程序里都用上了
2、selenium使用
思路:由于selenium自动化脚本是模拟人的操作,所以程序就按照你对这个网站进行操作的顺序写
2.1打开谷歌浏览器、窗口最大化
driver = webdriver.Chrome()
driver.maximize_window()
2.2输入网址
driver.get("你要让程序进入的网址")
2.3selenium的定位
selenium的定位到某一个网页上的元素(输入框、按钮等)的方法共有八种,具体是哪八种可以百度,这里只介绍我用到最方便的一种(XPATH定位)。举个例子。
在网页中按F12,显示网页源码。点击定位器
再在网页上点击这个元素,源码中就会标出,比如我点击百度的输入框,这个输入框的代码的就会被标蓝色
右键标蓝代码→Copy→Copy XPath
这个时候你就复制了这个元素的xpath了,可以在程序中使用
比如:我要在登录页面输入账号和密码,然后点击登录按钮
driver.find_element(by=By.XPATH, value="你复制的账号输入框的XPath").send_keys("你的账号")
driver.find_element(by=By.XPATH, value="你复制的密码输入框的XPath").send_keys("你的密码")
driver.find_element(by=By.XPATH, value="你复制的登录按钮的XPath").click()
2.4selenium获取某一元素的文本,比如标签或者按钮上的文字
这个可以用于下载的数据表格文件的命名,否则下载的文件很可能是乱命名的,不便于我们的使用。
my_text = driver.find_element(by=By.XPATH, value="该元素的XPath").text
2.5selenium回到页面顶部或者拉到页面底部
我在程序中遇到某一页面滚动条被滑到