zoukankan      html  css  js  c++  java
  • python+selenium 之页面元素定位,当定位元素时发现元素值中间有空格时如何处理

    新人一枚,

    selenium的常规定位方法:

    8种元素定位分别是

      1.find_element_by_id()  #通过元素id定位

      2.find_element_by_name() #通过元素name定位

      3.find_element_by_class_name() #通过元素class定位

      4.find_element_by_tag_name() #通过标签tag名称定位

      5.find_element_by_link_text() #超链接定位方法

      6.find_element_by_partial_link_text() #超链接模糊定位方法

      7.find_element_by_xpath() #xpath定位

      8.find_element_by_css_selector() #css定位

    其中前面六种比较好学,元素有的直接套用就行,

    xpath和css定位更加全面和强大(号称selenium里面的倚天剑和屠龙刀)

    今天分享一个就是元素class值中间有空格的怎么定位。

    直接使用find_element_by_class_name() ,运行后报错提示定位不到该元素

    这个时候建议使用css定位

    例如:元素class=“layui-input layui-unselect”

    中间有一个空格,第一次定位直接就用class值定位

    find_element_by_class_name(“layui-input layui-unselect”) 

    结果报错找不到元素

    亲试以下一些处理方法,总结下:

    # 方法一:取单个class属性(如果属性唯一)  

    driver.find_element_by_class_name("layui-input")

     # 方法二:定位一组取下标定位(乃下策)  

    driver.find_elements_by_class_name("layui-input")[0]

    driver.find_elements_by_class_name("layui-unselect")[1]

     # 方法三:css定位  

    driver.find_element_by_css_selector(".layui-input.layui-unselect") 

     # 方法四:取css的单个class属性也是可以的  

    driver.find_element_by_css_selector(".layui-input")

     # 方法五:直接包含空格的CSS属性定位大法  

    driver.find_element_by_css_selector("[class='layui-input layui-unselect']") 

    明天中秋假期,还要加班 ^v^...
  • 相关阅读:
    递归调用简单的讲解
    有关杭电acm问题的分类
    【jquery】切换标题与内容/点击后动态切换当前状态
    将数组某键值抽出作为新数组
    table表格制作
    如何导入大sql文件到mysql数据库
    二维数组按照某一键值进行排序
    利用PHP输出某一目录所有文件
    php结合js动态获取空间时间
    ie6不支持minheight的解决方案
  • 原文地址:https://www.cnblogs.com/huahuage/p/9688163.html
Copyright © 2011-2022 走看看