Selenium定位一组元素

2019年1月28日 3.03k 次阅读 2 条评论 2 人点赞

写在前面

在此之前写过一篇文章关于Selenium常用的8种元素基本定位方式。详情见链接:Selenium元素定位

文末也有关于如何定位一组元素的方法。不过有的小伙伴反映不方便查找,现把该部分内容单独列出。

Selenium定位一组元素

WebDriver提供了8种方法用于定位元素,同时还提供了8种用于定位一组元素的方法。

find_elements_by_id() 
find_elements_by_name() 
find_elements_by_class_name() 
find_elements_by_tag_name() 
find_elements_by_link_text() 
find_elements_by_partial_link_text() 
find_elements_by_xpath()
find_elements_by_css_selector()

复数定位方式每次取到的都是具有相同类型属性的一组元素,所以返回的是一个list队列。接下来通过一个案例演示一下如何使用以上方法定位一组元素:

#find_elements.py
#www.testclass.cn
#Altumn

from time import sleep
from selenium import webdriver


driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(10)
driver.get("https://www.baidu.com")

Search_text="testclass.cn"
driver.find_element_by_id("kw").send_keys(Search_text)
driver.find_element_by_id("su").click()
sleep(1)

# 定位一组元素,这里通过定位搜索结果的标题;
elements = driver.find_elements_by_css_selector('div>h3>a')

# 循环遍历出每一条搜索结果的标题
for i in elements:
    print(i.text)

driver.quit()

执行结果如下所示:

PS C:\Users\WangXiao\Desktop\python> cd 'c:\Users\WangXiao\Desktop\python'; ${env:PYTHONIOENCODING}='UTF-8'; ${env:PYTHONUNBUFFERED}='1'; & 'C:\Users\WangXiao\AppData\Local\Programs\Python\Python36\python.exe' 'c:\Users\WangXiao\.vscode\extensions\ms-python.python-2018.12.1\pythonFiles\ptvsd_launcher.py' '--default' '--client' '--host' 'localhost' '--port' '53612' 'c:\Users\WangXiao\Desktop\python\find_elements.py'
DevTools listening on ws://127.0.0.1:12406/devtools/browser/f080d3e5-4ad1-4677-b5f0-c6e574eeff29

软件测试testclass.cn - 软件测试技术分享
Katalon Studio录制回放功能使用介绍 – 软件测试testclass.cn
Katalon Studio元素抓取功能Spy Web介绍 – 软件测试testclass.cn
Katalon Studio操作界面详细说明 – 软件测试testclass.cn
一款超好用的Http抓包工具:Fiddler – 软件测试testclass.cn
TestClass - 教程中心 - 阿里云
好课网
Python笔记:程序设计IPO模式 – 软件测试testclass.cn
软件测试人:给自己一个梦想! – 软件测试testclass.cn
Katalon Studio一款免费的自动化测试工具 – 软件测试testclass.cn

小节

定位一组元素的方法与定位单个元素的方法类似,唯一的区别是在element后面多了一个s表示复数。 以上内容为如何定位一组元素。如果在日常的自动化测试中不知道如何更系统的进行元素定位,可以参考另一篇文章:Selenium必须掌握的元素定位方法

温馨提示:欢迎点击加入软件测试学习交流QQ群:软件测试学习交流群

风里云里,我在这里等你!

文章评论(2)

  • 王土豆

    还没有尝试过,等有空研究下

    2019年4月17日
  • 11

    自动化测试学习交流群:670250199

    2019年3月28日