页面对象定位方法详解(五)

前边已经写了多种定位方法的文章了,这篇是定位的最后一种方式,tag name定位,写之前先把,之前写的几种定位方式的文章罗列如下:

页面对象定位方法详解(一)
页面对象定位方法详解(二)
页面对象定位方法详解(三)
页面对象定位方法详解(四)

OK ,言归正传开始今天的定位方式讲解。

1、find_element_by_tag_name

通过tag name来定位还是有很大缺陷,定位不够精确。主要是tag name有很多重复的,造成了选择tag name来定位页面元素不准确,所以使用这个方法定位web元素的机会很少。
但是今天还是可以讲讲,将之前还是先上一张图:
页面对象定位方法详解(五)
通过上图可以看出,如果我们通过tag name去定位的话,那么tag name的对应查找的就是标签名称,比如input标签,其实页面会有很多input标签的。
首先我们通过如下代码看下页面总共有多少个input标签
import time
from selenium import webdriver

driver = webdriver.Chrome()
driver.get(“http://www.bcbxhome.com”)
time.sleep(5)
ss = driver.find_elements_by_tag_name(“input”)
print(len(ss))
复制代码

运行代码后,我们可以输出输出个,也就是当前页面有11个input标签的,所以我们就需要加一个索引来区分,到底是哪个。
页面对象定位方法详解(五)
通过页面分析,发现要定位的input是第11个input,所以索引就是10,此时代码就可以写成下边的形式了:

import time
from selenium import webdriver

driver = webdriver.Chrome()
driver.get(“http://www.bcbxhome.com”)
time.sleep(5)
ss = driver.find_elements_by_tag_name(“input”)
print(len(ss))
ss[10].send_keys(“123”)
复制代码

至此,所有的页面对象定位方法就写完了,后边会继续写对应的其他API方法,可以持续关注。