Selenium常用方法

一、安装驱动管理

如果通过安装驱动的方式来启动浏览器,每次浏览器更新后对应的驱动也需要更新,为了解决这个问题,selenium中提供了驱动管理工具webdriver-manager,有了webdriver-manager无需手动安装浏览器驱动,即使浏览器更新也不会影响自动化的执行。

selenium+驱动+浏览器的工作原理如下:

二、元素的定位

主要是cssSelector和xpath,打开浏览器开发者模式右键选择即可

三、操作测试对象

click():点击

send_key(""):模拟按键输入

clear():清除文本内容

text:获取文本信息

title:获取当前页面的标题

current_url:获取当前页面的url

四、窗口

driver.current_window_handle:获取当前页面的句柄

driver.window_handles:获取所有的页面的句柄

切换当前句柄为最新页面:

复制代码
curWindow = driver.current_window_handle
allWindows = driver.window_handles
    for window in allWindows:
       if window != curWindow:
            driver.switch_to.window(window)

driver.maximize_window():窗口最大化

driver.minimize_window():窗口最小化

driver.fullscreen_window():窗口全屏

driver.set_window_size(value,value):手动设置

save_screenshot("存放的路径"):截图

复制代码
filename = "autotest-"+datetime.datetime.now().strftime('%Y-%m-%d-%H%M%S')+'.png'
driver.save_screenshot('../images/'+filename)

close():关闭窗口

五、弹窗

alert=driver.switchTo.alert

alert.accept():确认

alert.dismiss():取消

alert=driver.switchTo.alert

alert.send_keys("hello")

alert.accept()

alert.dismiss()

六、等待

time.sleep():强制等待

implicitly_wait():隐式等待

显示等待

复制代码
from selenium.webdriver.support import expected_conditions as EC
wait = WebDriverWait(driver,2)
wait.until(EC.invisibility_of_element((By.XPATH,'//[@id="2"]/div/div/div[3]/div[1]/div[1]/div')))

七、浏览器

1、浏览器导航

back():后退

forward():前进

refresh():刷新

2、浏览器参数设置

无头模式

复制代码
options = webdriver.ChromeOptions()
options.add_argument("-headless")
driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()),options
=options)

页面加载策略

normal:默认值,等待所有资源下载

eager:DOM访问已准备就绪,但是诸如图像的其他资源可能仍在加载

none:不会阻塞webdriver

python 复制代码
options = webdriver.ChromeOptions()
options.page_load_strategy = 'eager'
driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()),options
=options)
相关推荐
se-tester4 天前
JMeter、Postman 和 SoapUI 在做接口测试上的优势和缺点
测试工具·jmeter·接口测试·postman·soapui
xixi09244 天前
selenium IDE——command
selenium·测试工具
xixi09244 天前
selenium IDE安装使用教程
ide·selenium·测试工具
Wpa.wk5 天前
har文件转为接口自动化测试用例
运维·测试工具·自动化·测试用例·接口自动化
Wpa.wk5 天前
ubuntu22桌面版安装
经验分享·测试工具
uyeonashi5 天前
自动化测试问卷考试系统测试报告
功能测试·selenium·github
007张三丰5 天前
软件测试专栏(6/20):Selenium从0到1实战指南:元素定位、等待机制与框架封装
selenium·测试工具
测试老哥5 天前
如何使用Postman做接口测试?
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
安全不再安全5 天前
某驱动任意读漏洞分析 - 可用于游戏内存数据读取
c语言·测试工具·安全·游戏·网络安全