zoukankan      html  css  js  c++  java
  • css选择器用法,使用css定位元素,css和xpath元素定位的区别

    css定位元素

    1.什么是css

    CSS(Cascading Style Sheets)层叠样式表,是一种语言,用来描述html或者xml的显示样式。在css语言中有css选择器,在selenium中同样适用。

    提示:在selenium中相比较xpath,更推荐使用css选择器,因为css速度更快

    2.css定位方法

    driver.find_element_by_css_selector()

    3.css定位常用策略

    1. id选择器,通过id属性定位
    2. class选择器,通过class属性定位
    3. 元素选择器,通过元素定位
    4. 属性选择器,通过属性定位
    5. 层级选择器,用空格或者大于号表示层级关系

    3.1 id选择器

    以百度首页为例,通过id选择就只需要:#su

    driver.find_element_by_css_selector(‘#su’)

    #表示后面跟的是id的属性值,’#su’意思是id属性为’su’的元素

    3.2 class选择器

    上面的例子可以找到“百度一下”这个按钮,如果想通过class属性找的话,就:.bg s_btn

    .’这个点表示后面跟的是class属性的值,driver.find_element_by_css_selector(‘.bg s_btn’)就是通过class属性查找属性值为’bg s_btn’的元素

    3.3元素选择器

    input就是查找所有input元素

    driver.find_element_by_css_selector(‘input’)

    3.4 属性选择器

    [id = ‘su’]查找id属性为‘su’的元素,等同于#su

    driver.find_element_by_css_selector(‘[name='ie']’)

    3.5 层级选择器

    根据元素的父子关系来选择,格式为 element > element 大于号可以用空格代替

    driver.find_element_by_css_selector(‘div > [name='ie']’)这个就是查找div下的name属性为ie的元素

    注意:直接子节点才可以用>

    3.6 css延伸

    input[type^=’P’]  找一个input元素,type属性的值以P开头

    input[type$=’d’]  找一个input元素,type属性的值以d结尾

    input[type*=’w’]  找一个input元素,type属性的值包含w

    css元素定位和xpath元素定位的对比

    定位方式

    xpath

    css

    元素名

    //input

    input

    id

    //input[@id=’su’]

    #su

    class

    //input[@class=’su’]

    .su

    属性

    //*[starts_with(@属性名,’XXX’)]

    //*[contains(@属性名,’XXX’)]

    //*[text()=””]

    input[type$=’XXX’]

    input[type*=’XXX’]

    input[type^=’XXX’]

    xpath定位元素参考链接:

    https://www.cnblogs.com/sy_test/p/12201868.html

  • 相关阅读:
    【OC 知识】静态变量
    【OC知识点】alloc 和init
    【oc 知识点】copy和mutableCopy
    【iOS入门】pod 安装
    【iOS入门】NSarray
    【iOS入门】instancetype和id的区别
    【iOS入门】不全屏
    【ios入门】xcode 新建项目变化
    Spark(一)-- Standalone HA的部署
    数据挖掘算法之协同过滤算法
  • 原文地址:https://www.cnblogs.com/sy_test/p/12201892.html
Copyright © 2011-2022 走看看