web自动化测试系列-selenium常用方法定位(五)

目录

1.selenium的定位方法

2.操作案例

3.实现代码

前面我们介绍了html页面元素主要是通过标签和属性来进行定位 ,只要满足唯一,无论是标签还是属性 ,都能进行定位 。当然 ,我们要通过selenium来进行定位 ,同样还是使用标签和属性 。

1.selenium的定位方法

下面我们就来看下selenium提供的16种定位方法 。本文主要介绍id、name、class_name、link_text等方法的使用 ,向xpath和css放在后面的系列中介绍

以上的方法的意思是,我要使用什么的元素定位 。 是使用标签定位呢 ?还是使用属性定位 。selenium都给你提供了对应的方法。

比如 :

使用input标签定位 ,就可以使用find_element_by_tag_name('input') ,其中方法中传入的值就必须是标签的名字 ;

若使用id属性定位,就可以使用使用find_element_by_id(属性值) ,其中方法中传入的值必须id的属性值 。

同理,其它方法也都是如此 ,而这两个方法系列都有不同的使用场景 。

  • find_element系列的方法,它定位后返回的是一个元素对象 ,即它能代表唯一性 ,所以大多数也会使用这里面的方法。

  • find_elements系列的方法,它定位后返回的是多个元素对象 ,这些对象放在一个列表 ,所以你的通过索引获取我们要用那个 ,一般只有在定位不到时才会使用这个系列的方法 。

2.操作案例

需求:通过selenium完成对tpshop的登录操作,具体如下 :

  1. 使用link_text定位首页登录按钮 ,

  2. 使用id定位用户名输入框,并输入账号,如13112345678

  3. 使用id定位确认密码输入框,并输入123456 。

  4. 使用name定位验证码输入框,并输入8888

  5. 使用class_name定位登录按钮,并点击确定 。

 

找到每个页面对象的定位元素后 ,我们就可以写代码了 。下面我们使用python编写一段代码 。

3.实现代码


# 定位登录

from selenium import webdriver		# 导入webdriver
from time import sleep

# 1. 创建浏览器对象
driver = webdriver.Chrome()
driver.maximize_window()		# 浏览器最大化

# 2. 输入地址
driver.get("http://localhost")

# 3. 元素定位
# 3.1 点击登录 : link_text定位
driver.find_element_by_link_text("登录").click()
sleep(3)

# 3.2 输入用户名 :id定位
driver.find_element_by_id("username").send_keys("13088888888")

# 3.3 输入密码 :id定位
driver.find_element_by_id("password").send_keys("123456")

# 3.4 输入验证码 :name定位
driver.find_element_by_name("verify_code").send_keys("8888")

# 4. 点击登录 :class定位
driver.find_element_by_class_name("J-login-submit").click()

sleep(6)
driver.quit()		# 退出浏览器

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值