如何把页面滑到最低部?
一般来说,做web自动化测试时,不需要单独写代码,把页面滑到可见,因为click操作,只要是元素存在并且加载出来了,就可以点击到,无需另外写滑动元素的代码。
如果特殊情况需要滑动的话,python中的selenium 库中的execute_script方法执行js语句来实现滚动功能
'arguments[元素对象].scrollIntoView();',元素对象
driver.execute_script('arguments[0].scrollIntoView(false);',ele)#移动元素到底部可见 driver.execute_script('arguments[0].scrollIntoView();',ele)#移动元素到顶部可见 driver.execute_script('window.scrollTo(0,document.body.scrollHeight)')#将页面移动到页面底部 driver.execute_script("window.scrollTo(document.body.scrollHeight,0)")#将页面移动到页面顶部
日期框处理
相信大家在测试web页面时,遇到过日期框,是那种只能选择的,不能直接输入,那这种做web自动化测试时,该如何处理呢
改变属性值,让它可以直接输入
from selenium import webdriver driver = webdriver.Chrome() # pha_js = "var a = arguments[0];a.readOnly=false;a.value= arguments[1];"#js语法 loc = ("xpath","//*[@id='train_date']") ele = driver.find_element(*loc) now_10 = "1111" # datetime获取当前时间 driver.execute_script("var a = arguments[0];a.readOnly=false;a.value= arguments[1];",ele,now_10)
12306 日期选择框的例子
driver=webdriver.Chrome() driver.get('https://www.12306.cn/index/') driver.implicitly_wait(20) #先选择出发地,再修改出发地 driver.find_element_by_id("fromStationText").click() driver.find_element_by_xpath('//li[@title="北京"]').click() pha_js='var a=document.getElementById("fromStationText");a.value="深圳"' driver.execute_script(pha_js) #先选择到达地,再修改到达地 driver.find_element_by_id("toStationText").click() driver.find_element_by_xpath('//li[@title="上海"]').click() arive_js='var a=document.getElementById("toStationText");a.value="常德"' driver.execute_script(arive_js) #日期处理 time_js='var a=document.getElementById("train_date");a.readOnly=false;a.value="2020-05-01"' driver.execute_script(time_js) #日期处理 ele4=(By.ID,'search_one') driver.find_element(*ele4).click()
上传操作
web自动化测试,如何模拟上传文件操作
由于上传操作,不是web界面的,不能使用python中的selenium库了
只能使用别的库
1.先安装pip install pypiwin32 库
# 1找到输入框和打开按钮 元素;2、输入地址,点击打开。 # 前提 :windows上传窗口已经出现。sleep1-2秒等待弹出的出现。 def upload(filePath,browser_type="chrome"): if browser_type == "chrome": title = "打开" else: title = "" #找元素 #一级窗口"#32770","打开" dialog = win32gui.FindWindow("#32770",title) # ComboBoxEx32 = win32gui.FindWindowEx(dialog,0,"ComboBoxEx32",None) #二级 comboBox = win32gui.FindWindowEx(ComboBoxEx32,0,"ComboBox",None) #三级 #编辑按钮 edit = win32gui.FindWindowEx(comboBox,0,'Edit',None) #四级 #打开按钮 button = win32gui.FindWindowEx(dialog,0,'Button',"打开(&O)") #二级 #往编辑当中,输入文件路径 。 win32gui.SendMessage(edit,win32con.WM_SETTEXT,None,filePath) #发送文件路径 win32gui.SendMessage(dialog, win32con.WM_COMMAND, 1, button) #点击打开按钮