web中UI自动化元素8大定位方法

1.文本、图片显示的正确性

2.UI交互逻辑是否正确

3.用户行为的正确性--只验证用户正确行为,实现主流程.

from selenium import webdriver
import time
driver=webdriver.Chrome() #需要驱动添加到用户环境变量中
url=r'E:\Django_projects\pyse01\seleniumday01\test.html'
driver.get(url)

# 通过id属性定位, 只返回匹配到的第一个元素,如果找不到,就报错
# textElment = driver.find_element_by_id("abd")
# 获取元素文本值
# print("获取到元素的文本值:", textElment.text)

# 通过name属性定位, 只返回匹配到的第一个元素,如果找不到,就报错
# inp_element = driver.find_element_by_name("a1")
# inp_element.send_keys("孔雀东南飞")

# 元素定位第三招
# 通过 xpath 定位, 只返回匹配到的第一个元素,如果找不到,就报错
# option_element = driver.find_element_by_xpath("/html/body/div/select/option[2]")
# print("xpath定位", option_element.text)
# option_element.click()

# 元素定位第四招---全匹配
# 通过链接文本定位, 只返回匹配到的第一个元素,如果找不到,就报错
# driver.find_element_by_link_text("访问百度").click()

# 元素定位的第五种方法---部分匹配
# 通过部分链接文本文本定位, 只返回匹配到的第一个元素,如果找不到,就报错
# driver.find_element_by_partial_link_text("访").click()

# 元素定位的第六种方法
# 通过 标签名 称进行匹配查找, 只返回匹配到的第一个元素,如果找不到,就报错
# ele = driver.find_element_by_tag_name("span")
# print(ele.text)

# 元素定位的第七种方法
# 根据 class 名称进行查找, 只返回匹配到的第一个元素,如果找不到,就报错
# ele = driver.find_element_by_class_name("a2")
# print(ele.text)

# 元素定位的第八种方法
# 通过 css 选择器查找, 只返回匹配到的第一个元素,如果找不到,就报错
# ele = driver.find_element_by_css_selector("body > div:nth-child(7) > table > tbody > tr:nth-child(2) > td")
# print(ele.text)

time.sleep(2)
driver.quit()

注意:

1、根据 class_name 进行定位的时候,有时候会遇到复合类,也就是 class 属性中间有空格,class 属性比较特殊,class属性中间的空格是间隔符号,表示的是一个元素有多个class的属性名称,此时元素定位的时候任取一个即可(不保证唯一定位)

2、selenium 没有提供判断元素是否存在的功能,所以当你需要判断一个元素存不存在的时候,直接定位可能会报错。我们可以去匹配一个元素列表,列表为空则元素不存在,列表不为空则元素存在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值