元素和浏览器操作方法
目标
1. 掌握WebDriver常用的元素操作方法
2. 掌握WebDriver常用的操作浏览器方法
1. 为什么要学习操作元素的方法?
1. 需要让脚本模拟用户给浏览器指定元素输入值
2. 需要让脚本模拟人为删除元素的内容
3. 需要让脚本模拟点击按钮
2. 元素常用操作方法
1. clear() 清除文本
2. send_keys() 模拟输入
3. click() 单击元素
说明:由于这三个方法非常简单,并且有些之前已经使用过,所以在这里用一个案例一起来讲解
2.1 案例-1 用户注册A
需求:
1. 通过脚本执行输入 用户名:admin;密码:123456;电话号码:18611111111;电子邮件:123@qq.com;
2. 间隔3秒后,修改电话号码为:18600000000
3. 间隔3秒,点击注册用户A
4. 间隔3秒,关闭浏览器
5. 元素定位方法不限
2.2 案例-1 实现步骤难点分析:
1. 间隔3秒 --> sleep(3)
2. 修改电话号码,先清除在输入新的号码; 清除 --> clear()
3. 点击按钮 --> click()
问题
1. 脚本启动浏览器窗口大小默认不是全屏?
2. 脚本执行结束如何关闭浏览器?
3. 浏览器常用方法
说明:主要了解通过WebDriver操作浏览器的常用方法
3.1 WebDriver操作浏览器常用方法
1. maximize_window() 最大化 --> 模拟浏览器最大化按钮
2. set_window_size(100,100) 浏览器大小 --> 设置浏览器宽、高(像素点)
3. set_window_position(300,200) 浏览器位置 --> 设置浏览器位置
4. back() 后退 --> 模拟浏览器后退按钮
5. forward() 前进 --> 模拟浏览器前进按钮
6. refresh() 刷新 --> 模拟浏览器F5刷新
7. close() 关闭 --> 模拟浏览器关闭按钮(关闭单个窗口)
8. quit() 关闭 --> 关闭所有WebDriver启动的窗口
3.2 WebDriver 操作浏览器方式-总结
# 最大化浏览器
driver.maximize_window()
# 刷新
driver.refresh()
# 后退
driver.back()
# 前进
driver.forward()
# 设置浏览器大小
driver.set_window_size(300,300)
# 设置浏览器位置
driver.set_window_position(300,200)
# 关闭浏览器单个窗口
driver.close()
# 关闭浏览器所有窗口
driver.quit()
4. WebDriver 其他常用的方法
4.1 为什么要学习WebDriver其他方法?
1. 如何获取元素大小?
2. 如果获取元素的文本?
3. 如何获取元素属性值?
4. 如果让程序判断元素是否为可见状态?
我们想解决以上问题,就需要学习WebDriver封装其他操纵元素的方法
4.2 WebDriver其他常用方法
1. size 返回元素大小
2. text 获取元素的文本
3. title 获取页面title
4. current_url 获取当前页面URL
5. get_attribute() 获取属性值
6. is_display() 判断元素是否可见
7. is_enabled() 判断元素是否可用
4.3 WebDriver其他常用方法 总结
....
# 获取用户名文本框大小
size=driver.find_element_by_id("userA").size
print('size:',size)
# 获取a标签内容
text=driver.find_element_by_id("fwA").text
print('a标签text:',text)
# 获取title
title=driver.title
print('title:',title)
# 获取当前页面url
url=driver.current_url
print('url:',url)
# 获取a标签href属性值
href=driver.find_element_by_id("fwA").get_attribute("href")
print('href属性值为:',href)
# 判断span是否显示
display=driver.find_element_by_css_selector('span').is_displayed()
print('span标签是否显示:',display)
# 判断取消按钮是否可用
enabled=driver.find_element_by_id('cancelA').is_enabled()
print('取消按钮是否可用:',enabled)
执行结果:
size: {'height': 30, 'width': 163}
a标签text: 访问 新浪 网站
title: 注册A
url: file:///E:/%E6%B5%8B%E8%AF%95/%E8%AF%BE%E4%BB%B6/Web%E8%87%AA%E5%8A%A8%E5%8C%96/Web%E8%87%AA%E5%8A%A8%E5%8C%96%E8%AF%BE%E4%BB%B6/02img/%E6%B3%A8%E5%86%8CA.html
href属性值为: http://www.sina.com.cn/
span标签是否显示: False
取消按钮是否可用: False