zoukankan      html  css  js  c++  java
  • selenium(5):常用的8种元素定位

    selenium的webdriver提供了18种(注意不是8种)的元素定位方法,比较常用的定位方法是如下8种,xpath和css定位更加灵活,需要重点掌握其中一个。

    经常会用到的8种定位:
    1.id定位:find_element_by_id(self, id_)
    2.name定位:find_element_by_name(self, name)
    3.class定位:find_element_by_class_name(self, name)
    4.tag定位:find_element_by_tag_name(self, name)
    5.link定位:find_element_by_link_text(self, link_text)
    6.partial_link定位find_element_by_partial_link_text(self, link_text)
    7.xpath定位:find_element_by_xpath(self, xpath)
    8.css定位:find_element_by_css_selector(self, css_selector)

    一、id定位:find_element_by_id(self, id_)

    通过上面百度搜索栏的定位,看到有个id属性:id="kw",通过它的id属性定位到这个元素,同时在定位到搜索框后,用send_keys()方法,输入文本。

    二、name定位:find_element_by_name(self, name)

    通过上面百度新闻的定位,看到有个name属性:name="tj_trnews",通过它的name属性单位到这个元素。

    三、class定位:find_element_by_class_name(self, name)

    通过上面百度搜索栏的定位,看到有个class属性:class="s_ipt",通过它的class属性单位到这个元素。

     

    四、tag定位:find_element_by_tag_name(self, name)

    在上面的定位元素属性中,可以看到每个元素都有tag(标签)属性。如搜索框的标签属性input ,在一个页面中,相同的标签有很多,一般不用标签来定位。下面的例子,仅供参考和理解,运行会报错.

     

    五、link定位:find_element_by_link_text(self, link_text)

     定位百度页面上"hao123"这个按钮,从元素属性可以分析出,有个href = "http://www.hao123.com”说明它是个超链接,对于这种元素,可以用link属性定位。

    六、partial_link定位find_element_by_partial_link_text(self, link_text)

        有时候一个超链接它的字符串比较长,输入全称会显示很长,这时候可以用一模糊匹配方式,截取其中一部分字符串进行模糊匹配方式(截取其中一部分字符串)。例如在五中的例子“hao123”,只需输入“ao123”也可以定位到。

    七、xpath定位:find_element_by_xpath(self, xpath)

     以上定位方式都是通过元素的某个属性来定位的,如果一个元素它既没有id、name、class属性也不是超链接,这么办呢?或者说它的属性很多重复的。这个时候就可以用xpath解决。这个时候就可以用xpath解决。

    八、css定位:find_element_by_css_selector(self, css_selector)

    css是另外一种语法,比xpath更为简洁

  • 相关阅读:
    [两个数]最大公约(因)数和最小公倍数
    【curl】【php】curl报错,错误代码77,CURLE_SSL_CACERT_BADFILE (77)解决方法
    【杂项】【旅行】旅行必备
    【windows】【php】【nginx】windows 开机自启动nginx php 及nginx php配置
    【mysql】linux, mac mysql数据库root 密码忘记修改
    【mysql】 load local data infield 报错 ERROR 1148 (42000): The used command is not allowed with this MySQL version
    【mysql】配置 选项文件
    【发布相关】【心得体会】发布的注意事项-20180921
    【php】【运算符】位移运算符
    【php】运算符优先级界定
  • 原文地址:https://www.cnblogs.com/benpao1314/p/8986571.html
Copyright © 2011-2022 走看看