web自动化测试-第二讲: 页面元素定位操作
Posted 瓜牛强强
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web自动化测试-第二讲: 页面元素定位操作相关的知识,希望对你有一定的参考价值。
一、页面元素操作
web自动化测试其实就是通过模拟手工测试,我们现在要通过代码来实现测试,首先我们要知道要操作的对象在哪?然后再对其页面元素对象做什么样的操作?也就引出下面两个概念:
1、页面元素定位
2、selenium API (如:点击、选择、输入文本内容等)
二、页面8元素定位方式
1、id:在一个页面具有唯一性
2、name :常用来定位输入框
3、class_name:也比较常用,注意点:它的值中间如果有空格,是不能用的
4、link_text:文本链接定位
5、partial_link_text:通过部分文本内容链接定位
6、tag_name:
7、xpath:xpath表达式,后续主要通过这个方法来定位元素
8、css_selector:css表达式,与xpath表达式只需熟练掌握一种即可。推荐使用xpath
三、小案例:通过百度搜索“瓜牛强强”文本
具体如何定位?步骤:
1、打开浏览器,百度网页,按下F12或者在设置中打开开发者工具
2、通过做左上角的箭头,定位到“百度输入框”,获取该元素的一些属性信息,如:id="kw"
3、用同样的方法,定位到“百度一下”按钮的属性信息id="su"
4、上代码
# 导入包
import time
from selenium import webdriver
# 打开浏览器
driver = webdriver.Chrome()
# 浏览器最大化
driver.maximize_window()
# 打开一个网页
driver.get("http://www.baidu.com")# 打印当前的浏览器地址
# 通过id找到需要操作的元素(百度输入框):元素定位
baidu_Input_box = driver.find_element('id','kw')
# 为了看到效果可以加个时间等待
time.sleep(1)
# 对百度输入框,输入“瓜牛强强”
baidu_Input_box.send_keys("瓜牛强强")
# 通过id找到需要操作的元素(百度一下按钮):元素定位
baidu_button = driver.find_element('id','su')
# 点击百度按钮
baidu_button.click()
time.sleep(2)
# 关闭整个浏览器,并且关闭驱动chromedriver
driver.quit()
四、Webelement对象
1、对象的属性
(1)tag_name:获取元素的标签名
(2)text:获取元素的text文本
(3)parent:获取元素的上一级
(4)get_attribute():获取元素属性
2、操作
(1)click():点击元素
(2)send_keys():输入文本
(3)submit:提交
(4)clear():清空
"""
时间:2021/7/24-15:13
文件:class_02_01.py
姓名:瓜牛强强
QQ:1689785398@qq.com
"""
# 导入包
import time
from selenium import webdriver
# 打开浏览器
driver = webdriver.Chrome()
# 浏览器最大化
driver.maximize_window()
# 打开一个网页
driver.get("http://www.baidu.com")# 打印当前的浏览器地址
# 通过id找到需要操作的元素(百度输入框):元素定位
baidu_Input_box = driver.find_element('id','kw')
# 为了看到效果可以加个时间等待
time.sleep(1)
# 对百度输入框,输入“瓜牛强强”
baidu_Input_box.send_keys("瓜牛强强")
# 获取元素的text文本:不是每一个元素都有text,如果没有返回空
print(baidu_Input_box.text)
# 获取元素的标签名
print(baidu_Input_box.tag_name)
# 获取元素的上一级
print(baidu_Input_box.parent)
# 获取元素属性
print(baidu_Input_box.get_attribute('id'))
# 通过id找到需要操作的元素(百度一下按钮):元素定位
baidu_button = driver.find_element('id','su')
# 点击百度按钮
baidu_button.click()
time.sleep(2)
# 关闭整个浏览器,并且关闭驱动chromedriver
driver.quit()
To be continue,点个关注,持续更新。。。
以上是关于web自动化测试-第二讲: 页面元素定位操作的主要内容,如果未能解决你的问题,请参考以下文章