记录——关于tag_name元素定位获取其他元素

1.tag_name标签定位:相同标签时,默认获取第一个标签

1.1.默认情况下tag_name定位第一个元素

#导包
from time import sleep

from selenium import webdriver
from selenium.webdriver.common.by import By

#获取 浏览器驱动对象
driver = webdriver.Chrome()
#打开注册页面
url = r"D:\提升自我\课外学习文件\软件测试\WEB自动化测试\web自动化_day01_课件+笔记+资料+代码\web自动化_day01_课件+笔记+资料+代码\02_其他资料\注册A.html"
driver.get(url)
#使用tag_name定位用户名 并 输入admin
#注意:页面中如果存在多个相同的标签,默认返回第一个标签
driver.find_element(By.TAG_NAME,"input").send_keys("admin")
#暂停3秒
sleep(3)

结果截图:

2.获取其他元素的方法

 2.1当有多个相同标签时,使用

driver.find_elements(By.TAG_NAME,"input")

      结果返回一个列表。

得到所有标签相同的元素,可以使用列表遍历的形式,对具体的元素做操作。

PS:得到的列表进行遍历时,可以利用其他定位方法进行得到列表元素。

#获取其他相同元素方法
tag_list = driver.find_elements(By.TAG_NAME,"input")

for i in tag_list:
    print(i.get_attribute("id").strip())        #获取全部input的id属性值
    #判断id属性值是否为‘passwordA’
    if(i.get_attribute("id") == 'passwordA'):
        i.send_keys("123456")

#也可以按照所要定位的元素的索引进行输入
tag_list[1].send_keys("123456") #按照输出的id属性然后看列表所在

sleep(3)

结果截图:

完整代码:

#导包
from time import sleep

from selenium import webdriver
from selenium.webdriver.common.by import By

#获取 浏览器驱动对象
driver = webdriver.Chrome()
#打开注册页面
url = r"D:\提升自我\课外学习文件\软件测试\WEB自动化测试\web自动化_day01_课件+笔记+资料+代码\web自动化_day01_课件+笔记+资料+代码\02_其他资料\注册A.html"
driver.get(url)
#使用tag_name定位用户名 并 输入admin
#注意:页面中如果存在多个相同的标签,默认返回第一个标签
driver.find_element(By.TAG_NAME,"input").send_keys("admin")
#暂停3秒
sleep(3)

#获取其他相同元素方法
tag_list = driver.find_elements(By.TAG_NAME,"input")

for i in tag_list:
    print(i.get_attribute("id").strip())        #获取全部input的id属性值
    #判断id属性值是否为‘userA’
    if(i.get_attribute("id") == 'passwordA'):
        i.send_keys("123456")

#也可以按照所要定位的元素的索引进行输入
tag_list[1].send_keys("123456") #按照输出的id属性然后看列表所在

sleep(3)
#关闭驱动
driver.quit()

  PS:在web自动化测试中使用XPath定位和CSS居多,非特殊情况下不建议使用tag-name

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值