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("") #也可以按照所要定位的元素的索引进行输入 tag_list[1].send_keys("") #按照输出的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