zoukankan      html  css  js  c++  java
  • webdriver+python定位元素的几种方法CSS练习

    1.通过id定位 find_element_by_id()

    2.通过name定位 find_element_by_name()

    3.通过class name定位 find_element_by_class_name()

    4.通过tag name定位 find_element_by_tag_name()

    5.通过link定位 find_element_by_link_text()

    6.通过partical link定位 find_element_by_partical_link_text()

    7.通过xpath定位 find_element_by_xpath()

    8.通过css定位 find_element_by_css_selector()

    注:

    1.patical link即部分文本,定位时只需要输入部分文本,如超链接文本为"去付款吧",使用link定位及find_element_by_link_text('去付款吧'),使用partical link定位find_element_by_partical_link_text('付款')

    2.tag name 相同的概率很高

    3.xpath定位分为绝对路径和相对路径,绝对路径以'/'开头,相对路径以'//'开头

    4.css定位中,id用'#',class用'.',如定位<div class="subdiv">使用find_element_by_css_selector('.subdiv'),定位<ul id="recordlist">使用find_element_by_css_selector('#recordlist')

    5.id/name/class/link/xpath是webdriver中最常用的定位方法

    三、CSS选择器
    * 通用元素选择器,匹配任何元素
    E 标签选择器,匹配所有使用E标签的元素
    .info class 选择器,匹配所有class属性中包含info的元素
    #footer id选择器,匹配所有id属性等于footer的元素
    E,F 多元素选择器,同时匹配所有E元素或者F元素,E和F之间用空格分隔
    E>F 子元素选择器,匹配所有E元素的子元素F
    E+F 毗邻元素选择器,匹配紧随E元素之后的同级元素F(只匹配第一个)
    E~F 同级元素选择器,匹配所E元素之后的所有同级元素F
    E[att='val'] 属性att的值为val的E元素(区分大小写)
    E[att^='val'] 属性att的值以val开头的E元素(区分大小写)
    E[att$='val'] 属性att的值以val结尾的E元素(区分大小写)
    E[att*='val'] 属性att的值包含val的E元素(区分大小写)
    E[att1='v1'][att2*='v2'] 属性att1的值为v1,att2的值包含v2(区分大小写)
    E:contain('xxxx') 内容中包含'xxxx'的E元素
    E:not(s) 匹配不符合当前选择器的任何元素

    </form>
    <div class="subdiv">
    <ul id="recordlist">
    <p>Heading</p>

    定位</form>

    find_element_by_css_selector(‘form’)

    定位<div class="subdiv">

    find_element_by_css_selector(‘.subdiv’)
    find_element_by_css_selector(‘form+div’)

    定位<ul id="recordlist">

    find_element_by_css_selector(‘#recordlist’)

    find_element_by_css_selector(‘ul#recordlist’) find_element_by_css_selector(‘div>ul’)

    定位<p>Heading</p>

    find_element_by_css_selector(‘div>ul’)
    find_element_by_css_selector(‘div.subdiv > ul > p’)

    四、HTML DOM Document 对象方法

    document.getElementById( )

    document.getElementsByName( )

    document.getElementsByClassName( )

    document.getElementsByTagName( )

    注释:传递给 getElementsByTagName() 方法的字符串可以不区分大小写

    document.querySelector( )

    document.querySelectorAll( )

  • 相关阅读:
    git stash 一个场景 mark
    sendBeacon 使用
    【踩坑笔记】layui之单选和复选框不显示
    wordpress后台管理超时没反应:load-scripts.php载入缓慢出错
    MySQL_Sql_打怪升级_进阶篇_测试: SQL随机生成测试数据
    MySQL_Sql_打怪升级_进阶篇_测试: 游标应用
    MySQL8.0新特性_01_JSON数据格式的支持
    MySQL_Sql_打怪升级_进阶篇_进阶19: 函数
    MySQL_Sql_打怪升级_进阶篇_进阶18: 存储过程
    MySQL_Sql_打怪升级_进阶篇_进阶17: 变量
  • 原文地址:https://www.cnblogs.com/51testing/p/13940535.html
Copyright © 2011-2022 走看看