zoukankan      html  css  js  c++  java
  • 自动化测试定位

    前奏

    脚本运行流程

    1.引包:from selenium import webdriver

    2.创建对象:driver = webdriver.Chrome()

    3.操作定位元素:driver.find_element…..

    4.关闭对象:driver.quit()

    基本定位方法                               

    id定位

    Webdriver中对应的方法:find_element_by_id(value)

    name定位

    Webdriver中对应的方法:find_element_by_name(NAME值)

    class name定位

    Webdriver中对应的方法:find_element_by_class_name(class值)

    tag name定位

    Webdriver中对应的方法:find_elements_by_tag_name(tag值)

    link text定位

    Webdriver中对应的方法:find_element_by_link_text(linktext)        注:匹配链接标签中的文本内容 

    partial link text定位

    Webdriver中对应的方法:find_element_by_partial_link_text(linktext)       注:定位页面链接只需要模糊匹配即可 

    定位后操作:

      send_keys():输入

      clear():清空

      click():点击 

      Find_elements_by*方法通常用来统计页面元素个数 

    Xpath定位                                                                                                   

    语法格式

    //div[@id="value"]       注://标签[@属性=“属性值”]

    节点间的关系

    父节点(Parent)

    每个元素以及属性都有一个父节点。

    子节点(Children)

    一个元素节点可有零个、一个或多个子节点。

    同胞节点(Sibling)

    表示拥有相同父节点的节点。

    先辈节点(Ancestor)

    表示某节点的父节点,父节点的父节点,以及父节点的所有祖先节点。

    后代节点(Descendant)

    表示某个节点的子节点,子节点的子节点,以及子节点的所有后代节点。

    Xpath定位语法—绝对路径

      表达式:/html/body/div/input[@value=“查询”]

    Xpath定位语法—相对路径

      表达式://input[@value=“查询”]

    Xpath定位语法—索引

      表达式://input[2]    注:第二个input

      定位第二个div下的超链接

      表达式://div[last()]/a

      定位第一个div中的超链接

      表达式://div[last()-1]/a

      定位最前面一个属于div元素的子元素中的input元素

      表达式://div/input[position()<2]

    Xpath定位语法—属性值

      //img[@alt=“div1-img1”]    注:定位img元素  

      //img[@href=‘http://www.sogou.com’]    注:定位页面一张图片

      //div[@id=‘div2’]/input[@name=‘div2input’]   注:定位id属性为div2的div中name属性为div2input的input输入框

      //div[@id=‘div1’]/a[@href=‘http://www.sogou.com’]     注:定位第一个div中的href=‘http://www.sogou.com’链接

      //input[@type=‘button’]    注:定位页面的查询按钮

    Xpath定位语法—模糊属性值

    starts-with(str1,str2)      注:查找属性alt的属性值以”div1”关键字开始的页面元素   //img[starts-with(@alt,’div1’)]

    contains(str1,str2)         注:查找alt属性的属性值包含”img”关键字的页面元素。     //img[contains(@alt,’img’)]

    Xpath定位语法—Xpath轴(Axes)

      parent:选择当前节点的上层父节点      //img[@alt=‘div2-img2’]/parent::div

      child:选择当前节点的下层所有子节点       //div[@id=‘div1’]/child::img

      ancestor:选择当前节点所有上层的节点          //img[@alt=‘div2-img2’]/ancestor::div

      descendant:选择当前节点所有下层的节点(子、孙)       //div[@name=‘div2’]/descendant::img

      following:选择当前节点之后显示的所有节点         //div[@id=‘div1’]/following::img

      following-sibling:选择当前节点后续所有兄弟节点        //a[@href=‘http://www.sogou.com’]/following-sibling::input

      preceding:选择当前节点前面的所有节点       //img[@alt=‘div2-img2’]/preceding::div

      Preceding-sibling:选择当前节点前面的所有亲兄弟节点         //input[@value=‘查询’]/preceding-sibling::a[1]

    Xpath定位语法—页面元素的文本

      通过text()函数可以定位到元素文本包含某些关键内容的页面元素

      Xpath表达式

        //a[text()=“搜狗搜索”]    

        //a[.=“搜狗搜索”]

        //a[contains(.,”百度”)]

        //a[contains(text(),”百度”)]

        //a[contains(text(),”百度”)]/preceding::div

        //a[contains(百度”)]/..

     CSS定位                                                                                                     

    语法格式

    div[id="value"]       注:标签[属性=“属性值”]

    参考:https://www.w3school.com.cn/cssref/css_selectors.ASP

     

     

     

     

  • 相关阅读:
    Nodejs学习笔记(4) 文件操作 fs 及 express 上传
    Nodejs学习笔记(3) 创建服务器:Web 模块(http)与 express 框架
    Nodejs学习笔记(2) 阻塞/非阻塞实例 与 Nodejs事件
    VS code自定义用户代码片段snippet
    Nodejs学习笔记(1) Nodejs安装+借助express模块简单部署服务器
    jQuery学习笔记(1) 初识jQuery
    jQuery学习笔记(2) jQuery选择器
    第八章 Python之常用模块
    selenium元素和浏览器操作
    selenium元素定位
  • 原文地址:https://www.cnblogs.com/070727sun/p/12368636.html
Copyright © 2011-2022 走看看