本文实例讲述了Selenium定位元素操作。分享给大家供大家参考,具体如下:
Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成 .Net、Java、Perl等不同语言的测试脚本。
在前面一篇《Selenium基本用法》中简单记录了Selenium的使用,接下来记录一下元素的定位,Selenium提供了多种策略来定位页面中的元素,Selenium提供了以下方法来定位页面中元素,你可以根据自己的喜好来进行选择:
find_element_by_id:通过ID进行匹配查找,只返回匹配到的一个元素 find_element_by_name:通过name进行匹配查找,只返回匹配到的一个元素 find_element_by_xpath:通过xpath进行匹配查找,只返回匹配到的一个元素 find_element_by_link_text:通过链接内容进行匹配查找,只返回匹配到的一个元素 find_element_by_partical_link_text:通过部分链接内容进行匹配查找,只返回匹配到的一个元素 find_element_by_tag_name:通过标签名称进行匹配查找,只返回匹配到的一个元素 find_element_by_class_name:通过class名称进行匹配查找,只返回匹配到的一个元素 find_element_by_css_selector:通过CSS选择器进行匹配查找,只返回匹配到的一个元素值得注意的是,上面方法只会匹配查找只会获取第一个元素。除了上面这些查找单个元素的方法之外,Selenium还定义查找多个元素的方法:
find_elements_by_name:通过name进行匹配查找,返回所有匹配到的元素列表 find_elements_by_xpath:通过xpath进行匹配查找,返回所有匹配到的元素列表 find_elements_by_link_text:通过链接内容进行匹配查找,返回所有匹配到的元素列表 find_elements_by_partical_link_text:通过部分链接内容进行匹配查找,返回所有匹配到的元素列表 find_elements_by_tag_name:通过标签名称进行匹配查找,返回所有匹配到的元素列表 find_elements_by_class_name:通过class名称进行匹配查找,返回所有匹配到的元素列表 find_elements_by_css_selector:通过CSS选择器进行匹配查找,返回所有匹配到的元素列表除了上面给出的公有方法之外,Selenium还提供了两种私有方法可能对页面对象中的定位器有用,这两个私有方法是:find_element
和find_elements
:
from selenium.webdriver.common.by import Byelement = driver.find_element(By.XPATH,'//*[@id="su"]')elements = driver.find_elements(By.XPATH,'//button')
新闻热点
疑难解答