selenium定位方法

面试常见题

Selenium有几种定位方式?你最偏爱哪一种,为什么?
Selenium有八种定位方式:
与name有关的有三种:name、class_name、tag_name
与link相关的有两种:link_text、partitial_link_text
与id有关:id
全能选手:xpath、css_selector

如果存在id,我一定使用Id,因为简单方便,定位最快。其次是Xpath,因为很多情况下html标签的属性不够规范,无法唯一定位。Xpath是通过相对位置定位
如果没有,那么CSS定位器应该被优先考虑,因为在大多数现代浏览器中,它们的评估速度比XPath更快。

1、返回值是单个元素

--通过id定位元素:find_element_by_id("id_vaule")

例:find_element_by_id("kw")

--通过name定位元素:find_element_by_name("name_vaule")

例:find_element_by_name("wd")

--通过tag_name定位元素:find_element_by_tag_name("tag_name_vaule")

例:find_element_by_tag_name("input")

--通过class_name定位元素:find_element_by_class_name("class_name")

例:find_element_by_class_name("s_ipt")

--通过css定位元素:find_element_by_css_selector()

例:find_element_by_css_selector("span.bg s_ipt_wr quickdelete-wrap>input.s_ipt")

find_element_by_css_selector("#kw")

--通过xpath定位元素:find_element_by_xpath("xpath")

例:find_element_by_xpath("//*[@id="kw"]")

--通过link:find_element_by_link_text("text_vaule")

例:find_element_by_partial_link_text("百度一下")

2、返回值是多个元素

--id复数定位find_elements_by_id(self, id_)
--name复数定位find_elements_by_name(self, name)
--class复数定位find_elements_by_class_name(self, name)
--tag复数定位find_elements_by_tag_name(self, name)
--link复数定位find_elements_by_link_text(self, text)
--partial_link复数定位find_elements_by_partial_link_text(self, link_text)
--xpath复数定位find_elements_by_xpath(self, xpath)
--css复数定位find_elements_by_css_selector(self, css_selector

上班求生存,下班求发展
原文地址:https://www.cnblogs.com/ljf520hj/p/11904820.html