目录
前言:
一、id定位
二、name定位
三、class_name定位
四、xpath定位
五、css_selector定位
六、tag_name定位
七、link_text 定位
八、Xpath&Css定位方法速查表
九、By定位
十、elements复数定位
十一、JS的定位
前言:
Python是一种非常流行的编程语言,Selenium是一种自动化Web测试工具,而这两个工具强大的结合正可以用来实现Web自动化测试。在使用Selenium进行自动化测试时,定位Web元素是必不可少的一环。
一、id定位
find_element_by_id()
采用id属性进行定位。例如在百度页面中输入关键字 Selenium 进行搜索。百度部分关键html源码如下:
百度输入框和百度一下的按钮都有id,那么定位代码如下:
二、name定位
三、class_name定位
四、xpath定位
find_element_by_xpath()
xpath是XML路径语言,它可以用来确定xml文档中的元素位置,通过元素的路径来完成对元素的查找。HTML就是XML的一种实现方式,所以xpath是一种非常强大的定位方式。
获取xpath、css_selector路径方法
打开谷歌浏览器-->打开百度-->键盘点击F12--点击定位位置-->点击源码位置-->右件copy
绝对路径
如百度搜索框的绝对路径xpath定位:
相对路径(属性标签等)
搜索框还可以利用id和name属性去定位:
标签名input也可以定位,只要在该标签内,任意属性都可以,比如搜索框的maxlength属性:
注:如果元素的单个属性无法确定其唯一性,可以用and连接多个属性去确定
五、css_selector定位
find_element_by_cssselector()
CSS属性定位可以比较灵活地选择控件的任意属性,定位方式也会比xpath快
注:class是用.标记,id是用#标记
六、tag_name定位
find_element_by_tag_name ()
html标签,如input、a、form等
一般定位如下:find_element_by_tag_name("input"),因为一个html一个标签存在多个因此这种定位方式用的比较少
七、link_text 定位
find_element_by_partial_link_text()
定位标签<a>:
八、Xpath&Css定位方法速查表
九、By定位
十、elements复数定位
说明:复数定位方式每次取到的都是具有相同类型属性的一组元素,所以返回的是一个list值
如上图需要定位到时视频,再点击视频链接
十一、JS的定位
#以下Element 返回单值,Elements复数返回列表值
源码举例
以上为常用的四种js定位方式都需要执行的就execute_script())
源码举例
作为一位过来人也是希望大家少走一些弯路,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!
留【自动化测试】即可【自动化测试交流】:574737577(备注ccc)http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=khh1u309hOPfmutO7szune5BMv7p8BHg&authKey=kRBNmDukZpv512fdc7h2hFwQvgQFubVtbuOOFlKwsRVnal%2FcYaEiQOlTEDIi5Nd5&noverify=0&group_code=574737577