Selenium WebDriver API 学习笔记(二):浏览器控制

举报
虫无涯 发表于 2023/01/12 13:32:01 2023/01/12
【摘要】 读了虫师《Selenium 2自动化测试实战 基于Python语言》一书,感触颇深,内容非常丰富。现整理下来,供后续学习参考使用。本次主要整理的是浏览器控制操作之一。1.控制浏览器窗口大小set_window_size(); 如set_window_size(640,480); 即宽640,高480maximize_window(); 窗口最大化,不需要参数,直接使用2.控制浏览器进退、前进...

读了虫师《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前边已经提及到,不赘述
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。