Selenium基础篇二(元素定位)

    Selenium 中,元素的定位以及对元素的操作是 Selenium 自动化操作的核心部分。其中 Selenium 的操作又是建立在定位的基础上的,所以元素定位尤为重要。

    举一个通俗的列子。比如:一个对象代表一个人,这个人会有各种各样的属性,如:身份证、姓名、家庭住址等。然后我们可以通过这个人的属性来找到他。所以这种在 Selenium 称之为 "元素定位",通过对象的某一个属性来找到对象本身。在 Selenium 中元素定位有一下几种:

  • find_element_by_id()
  • find_element_by_name()
  • find_element_by_class()
  • find_element_by_tag()
  • find_element_by_link_text()
  • find_element_by_partial_link_text()
  • find_element_by_xpath()
  • find_element_by_css_selector()
总共 8 种定位方式。我个人比较喜欢 id、name 、link_text 以及 xpath 这四种定位方式。下面我就以我个人较为喜欢的 4 种定位方式来进行讲解。
1. id 和 name 定位: 

    id 和 name 定位是比较常用的一种定位方式,因为 Web 页面大多数对象都存在这个两个属性,而且对不同的对象的名称也会与之不同,所以能很好的区分开来。下面就距离说明一下这两种定位的方式:

1. id 和 name 的定位方式尤其简单,只需打开浏览器,访问相应网址(这里用百度作为访问对象)。按键盘 F12 键打开开发者调试模式,然后点击选取光标,将光标放置在自己想要查看的对象上即可,那么在开发者调试界面,就会出现与之对应的 HTML 属性值,在其中找到 id 和 name 这两个值得属性即可。然后通过上一篇案例中写的代码,将 id 或 name 的值放置到对应的 Selenium 方法就可以进行脚本执行了。

    


2.link_text:该定位方式主要定位超链接的定位,即为 HTML 中 a 标签的定位,所以这边就不细致的去说明它了。

3.xpath:xpath 即为 xml 路径语言,它是一种用来确定 xml(标准通用标记语言的子集)文档中某部分位置的语言。xpath基于xml 的树状结构,提供在数据结构树种找寻节点的能力,xpath 很快的被开发者采用来当做小型查询语言。

    xpath 使用:

        1.启动 Google,打开百度首页

        2.打开开发者模式,鼠标地位到搜索输入框

        3.点击右键,选中 Copy,选择其中的 Copy XPath

        4. ctrl + v 进行粘贴


    一般来说,通过 xpath 进行对象元素的查找是不会有误的,但是在某些情况下,xpath 元素定位也会出现错误,这时候就需要切换另外一种方式,或者更换 xpath 的内容。因为 xpath 的内容是多变的,不是单一的。

    下面就说脚本中 xpaht 的用法


    这边需要注意:因为 Google 中复制出来的 xpath 是双引号的,跟 pyhton 中重叠了,所以需要将双引号替换为单引号来进行执行。

猜你喜欢

转载自blog.csdn.net/m0_38034387/article/details/79578287
今日推荐