selenium复数定位--精准从多个重复元素中选择要定位的那个元素
参考:https://blog.csdn.net/qq_32897143/article/details/80383502
写web自动化
时,经常定位元素会有重复
,好崩溃啊。
今天突然找到的一种多个元素多选一
的方法,简直太棒了.
复数定位方式
每次取到的都是具有相同类型属性
的一组元素
,所以返回的是一个list队列
,我们也可以利用这个去定位单个的元素。比如百度首页种,右上角有新闻、视频、地图、贴吧等一些链接,我们通过f12查看源码可以发现,这些链接都有共同的class
, class="mnav"
。
举个例子,比如定位排在第六个的学术,可以这样定位:
driver.find_elements_by_class_name("mnav")[5].click()
还可以通过css的复数定位写法:
driver.find_elements("css selector",".mnav")[6].click()
当然,也可以借助pop()函数,一般pop()或pop(-1)表示获取元素种的最后一个,pop(2)表示第三个:
driver.find_elements("css selector",".mnav").pop().click()