读了虫师《Selenium 2自动化测试实战 基于Python语言》一书,感触颇深,内容十分丰盛。现整顿下来,供后续学习参考应用。本次次要整顿的是浏览器管制操作之一。
1.管制浏览器窗口大小
set_window_size();
如set_window_size(640,480); 即宽640,高480
maximize_window(); 窗口最大化,不须要参数,间接应用
2.管制浏览器进退、后退
back(); 返回
forwar(); 后退
如 driver.back(); 其中driver=webdriver.Chrome()
3.模仿浏览器刷新
refresh(); 如driver.refresh()相似F5
4.简略元素操作
①clear(); 革除文本
②send_keys(*value); 模仿按键输出
③click(); 单击元素
举例:
driver.find_element_by_id("qwe").clear()
driver.find_element_by_id("qwe").send_keys("tyyu")
driver.find_element_by_id("login").click()
5.webelement接口罕用办法
size:返回元素的尺寸
text:获取元素的文本
get_attributte(name):取得属性
is_displayed():设置改元素是否用户可见
举例:
size=driver.find_element_by_id("qwe").size 获取输入框的尺寸
text=driver.find_element_by_id("qwe").text 获取文本信息
attributte = driver.find_element_by_id("qwe").get_ attributte('type') 能够是id、name、type或其余任意属性
result= driver.find_element_by_id("qwe"). is_displayed() 返回元素的后果是否可见,返回后果为Ture或者False
6.鼠标事件
perform(): 执行所有ActionChains中存储的行为
context_click(): 右击
double_click(): 双击
drag_and_drop(element, target
move_to_element(): 鼠标悬停
举例:
①rom selenium.webdriver.common.action_chains import ActionChains 先引入ActionChains类
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
#...
#定位到要右击的元素
right_click = driver.find_element_by_id("qwe")
#对定位到的元素执行鼠标右击操作
ActionChains(driver).context_click(right_click).perform()
阐明:
ActionChains(driver):调用这个类,将浏览器驱动driver作为参数传入
context_click(right_click):模仿邮件操作,在应用时须要指定元素定位
perfom():将指定所有ActionChains中存储的行为。
②above=driver.find_element_by_id("qwer")
ActionChains(driver).move_to_element(above).perfom()
其余办法相似
7.键盘事件
Keys类提供了键盘上所有的按键办法
from selenium.webdriver.common.keys import Keys
send_keys(Keys.BACK_SPACE) 删除键
send_keys(Keys. SPACE) 空格键
send_keys(Keys.TAB) 制表键
send_keys(Keys.ESCAPE) 回退键
send_keys(Keys.ENTER) 回车键
send_keys(Keys.CONTROL,'a') 全选
send_keys(Keys.CONTROL,'c') 复制
send_keys(Keys.CONTROL,'x') 剪贴
send_keys(Keys.CONTROL,'v') 粘贴
send_keys(Keys.F1)
...
send_keys(Keys.F12) F1-F12
8.取得验证信息
title, URL, text
举例:
now_url=driver.current_url 获取以后页面URL
title=driver.title 获取以后页面title
text前边曾经提及到,不赘述
发表回复