自动化测试学习之元素定位

本文介绍了如何在自动化测试中通过Python的selenium库进行元素定位。讲解了By.XPATH、By.CSS_SELECTOR、By.NAME等不同方式的用法,并提到了元素定位可能遇到的问题,如页面加载时间和元素唯一性。同时,给出了定位链接文本和标签名的示例。

例:

from selenium import webdriver

from time import sleep

from selenium.webdriver.common.by import By

driver = webdriver.Firefox()

driver.get('http://www.baidu.com')

element=driver.find_element(By.NAME,value='wd')

element.send_keys("python")

submit=driver.find_element(By.ID,value='su')

submit.click()

sleep(3)

xpath选择元素(万金油)  driver.find_element(By.XPATH, '//*[@id="kw"]')

/aaa 选取根节点为aaa的元素

/aaa/bbb 选取aaa标签下的bbb标签

//aaa 选取所有aaa标签下的元素

//aaa/bbb选取所有父元素为aaa的bbb元素

 · 选取当前节点

 .. 选取当前节点的父节点

 css选择器选择元素   driver.find_element(By.CSS_SELECTOR, '#kw')

name属性值选择元素driver.find_element(By.NAME, 'wd')

元素中必须有name属性值

如果不止一种name值,取第一个(id同

类名选择元素element=driver.find_element(By.CLASS_NAME,value='s_ipt')

需要有class属性

如果class属性值不唯一,则不能唯一的定位到指定元素

链接文本选择元素driver.find_element(By.LINK_TEXT, 'hao123') 精准匹配

包含文本选择driver.find_element(By.PARTIAL_LINK_TEXT, 'hao')

页面加载元素需要时间,如果需要查找的元素在页面下方位置,则设置sleep()停留几秒中的时间,再进行元素查找

当定位的链接文本内容在整个页面中唯一的出现一次,那么可以定位到元素,否则默认第一个

  标签名选择 driver.find_element(By.TAG_NAME, 'title')

 查找元素在当前页面中是唯一的,否则默认为第一个

id选择driver.find_element(By.ID, 'su')

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值