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( )

  • 相关阅读:
    Myeclipse学习总结(5)——Myeclipse常用快捷键再学习
    Myeclipse学习总结(5)——Myeclipse常用快捷键再学习
    Java基础学习总结(37)——Java23中设计模式(Design Patterns)详解
    Java基础学习总结(37)——Java23中设计模式(Design Patterns)详解
    Java基础学习总结(37)——Java23中设计模式(Design Patterns)详解
    Git学习总结(4)——我的Git忽略文件
    Git学习总结(4)——我的Git忽略文件
    Git学习总结(4)——我的Git忽略文件
    《跟唐老师学习云网络》 -第5篇 Ping喂报文
    深入比特币原理(五)——高级交易与脚本
  • 原文地址:https://www.cnblogs.com/51testing/p/13940535.html
Copyright © 2011-2022 走看看