Selenium下拉滚动条的三种方法:
- 设置滚动条位置
- Js的window.scrollTo()方法
- 定位元素进行滚动
- 设置滚动条位置
execute_script(“document.documentElement.scrollTop=位置”)
- js的window.scrollTo()方法
Window.scrollTo(x,y),通过坐标(x,y)进行滑动
- 定位元素进行滚动
execute_script(“arguments[0].scrolllntoView()”,eleme
execute_script(),可以直接执行js的脚本。
一 、控制滚动条高度
1.滚动条回到顶部:
js="var q=document.getElementById(‘id‘).scrollTop=0"
driver.execute_script(js)
2.滚动条拉到底部
js="var q=document.documentElement.scrollTop=10000"
driver.execute_script(js)
3.这里可以修改scrollTop 的值,来定位右侧滚动条的位置,0是最上面,10000是最底部。
js="var q=document.documentElement.scrollTop=5000"
driver.execute_script(js)
通过左边控制横向和纵向滚动条scrollTo(x, y)
第一个参数x是横向距离,第二个参数y是纵向距离
js = "window.scrollTo(100,400);"
driver.execute_script(js)
Selenium窗口切换
# 步骤1:获取窗口句柄
windows = driver.window_handles # 返回的是一个句柄列表,列表排序为当前窗口顺序
# 步骤2:切换到新窗口
driver.switch_to.window(windows[-1]) # 新窗口通常为最后一个.
current_window_handle 获取当前窗口句柄
window_handles 返回所有窗口
switch_to.window 不同间的窗口切换
Selenium之页面元素属性删除
#删除元素中target属性
script = "document.querySelector('.sign-in-wrap a').removeAttribute('target')"
document可理解为selenium中实例化的浏览器对象driver;
querySelector可理解为selenium中使用css selector方法定位元素,规则也一致;
removeAttribute()删除元素中对应属性的值
Selenium之文件上传处理
操作步骤:
1、文件路径填写
2、文件名填写
3、点击打开
import pywinauto
# 使用pywinautoc创建一个操作桌面窗口的对象
app = pywinauto.Desktop()
# 选中文件上传的窗口
dlg = app["打开"]
# 选中文件地址输入框
dlg["Toolbar3"]
# 选中文件名输入框
dlg["文件名(&N):Edit"]
# 选择打开按钮
dlg["打开(&O)"]
Selenium之页面截图操作
# 应用1:save_screenshot 直接保存在当前路径
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome() # 打开浏览器
driver.get("https://www.baidu.com/") # 跳转至测试页面
sleep(1)
element = driver.find_element_by_id("kw") # 定位输入框
element.send_keys("自动化测试") # 输入内容
sleep(1)
driver.save_screenshot("baidu.png") # 截屏
sleep(2)
driver.quit() # 关闭浏览器
Selenium弹框处理
Selenium提供了三个常用处理alert的方法:
点击确定按钮:
driver.switch_to.alert.accept()
点击取消按钮:
driver.switch_to.alert.dismiss()
获取弹出框提示的文本信息:
driver.switch_to.alert.text
switch_to_alert() #定位弹出对话
text() #获取对话框文本值
accept() #相当于点击“确认”
dismiss() #相当于点击“取消”
send_keys() #输入值,这个alter和confirm没有输入对话框,所以这里不能用,只能用于prompt
明日任务:unittest自动化测试框架、读取csv文件、数据驱动、数据断言