【自动化测试selenium】2、 八种元素定位方法()

 
  

 2、八种元素定位方式

from selenium import webdriver

driver = webdriver.Chrome()     # 这一步会打开一个空白的浏览器
driver.get("http://127.0.0.1:8088/login")   # 访问网址

''' =========== 元素定位的八种方式 ================'''
''' ------------ 1 id属性定位 --------------------'''

''' ------------ 2 name属性定位 -------------------'''
driver.find_elements_by_name("username").send_keys("libai")
driver.find_elements_by_name("password").send_keys("opmsopms123")       
# 密码输入框明文显示:找到input标签,把type = password 改成type = text,传到服务端用接口保存的,在浏览器都是明文,接口抓包通常是加密的

''' ------------ 3 class属性定位 --------------------'''
# class属性有空格,证明是复合类,多个值用空格区分,如class = "btn btn-lg btn-login btn-block"
# 如果别的属性有空格,则空格是属性的一部分,如id
# 用class定位,如果有多个,用唯一的那个
driver.find_elements_by_class_name("btn-login").click()


''' ------------ 4 链接文本定位 --------------------'''
# 不能错字漏字
# text 可以获取元素的文本值
print(driver.find_elements_by_link_text("OPMS官网").text)                 

''' ------------ 5 根据链接文本——模糊匹配 --------------------'''
# 不能错字可以漏字
print(driver.find_elements_by_partial_link_text("OPM").text)



''' ------------ 6 css表达式定位(万能定位方式) --------------------'''
# 右键标签 -- copy -- copy selector
# 高级写法:.js-left-nav>li 匹配每一个
  • ..
  • # 高级写法:.js-left-nav>li:nth-child(2) driver.find_elements_by_css_selector("copy到的表达式") ''' ------------ 7 xpath定位 --------------------''' # 右键标签 -- copy -- copy xpath driver.find_elements_by_xpath("copy到的表达式") ''' ------------ 8 标签名称定位 --------------------''' driver.find_elements_by_tag_name("") # 多数情况下用不到,登录界面偶尔能用到

    # 找不到元素的四种原因

            # 元素表达式写错了,或元素不存在于界面

            # 元素未加载,而代码已经操作到 

            # 内嵌网页

            # 多标签页

    定位元素注意点:

            我们今天学习的元素定位方法,都是定位单个元素的

            如果页面上,正好只有一个元素匹配成功,则返回匹配成功的这个

            如果页面上,有多个匹配成功,则返回找到的第一个

            如果页面上,一个也匹配不到,则报错找不到元素 

    你可能感兴趣的:(selenium,chrome,测试工具)