• seleniumd对象的操作方法,属性,keys


    这是通过find方法找到的页面元素,此对象提供了多种方法,让我们可以与页面元素进行交互,例如点击、清空。

    目录:

    1. 方法

    2. 属性

    3. keys


    方法

    1. clear()清空

      如果当前元素中有文本,则清空文本

    2. click()单击

      点击当前元素

    3. get_attribute(name)获取对象属性

      获取元素的attribute/property

      优先返回完全匹配属性名的值,如果不存在,则返回属性名中包含name的值。

      注意:用Xpath查找数据时无法直接获取节点属性

      通常在我们使用xpath时,可以使用@class的方式直接获取节点的属性,如下所示:

      page.xpath('//div/a/@class')

      但在Selenium中不支持这种用法,只能在找到节点后,使用get_attribute(name)方法来获取属性:

      page.xpath('//div/a').get_attribute('class')

      同样的,Selenium同样不支持Xpath中的string()text()这类的方法,只能获取元素节点。

    4. screenshot(filename) 获取截图

      获取当前元素的截图,保存为png,最好用绝对路径

    5. send_keys(value) 模拟键入元素

      给当前元素模拟输入

      webelement的此方法在Chrome中应该是有bug,无法使用。

    6. submit()提交表单

      提交表单

    在页面元素中,同样提供find_elements_by_*等查找方法,可以将查找范围限制到当前元素。


    属性

    1. text

      获取当前元素(find对象)的文本内容

    2. tag_name

      获取当前元素的标签名

    3. size

      获取当前元素的大小

    4. screenshot_as_png

      将当前元素截屏并保存为png格式的二进制数据

    5. screenshot_as_base64

      将当前元素截屏并保存为base64编码的字符串

    6. rect

      获取一个包含当前元素大小和位置的字典

    7. parent

      获取当前元素的父节点

    8. location

      当前元素的位置

    9. id

      当前元素的id值,主要用来selenium内部使用,可以用来判断两个元素是否是同一个元素


    Keys

    我们经常需要模拟键盘的输入,当输入普通的值时,在send_keys()方法中传入要输入的字符串就好了。

    但是我们有时候会用到一些特殊的按键,这时候就需要用到我们的Keys类。

    简例

    from selenium.webdriver.common.keys import Keys
    ​
    elem.send_keys(Keys.CONTROL, 'c')

    属性

    这个Keys类有很多属性,每个属性对应一个按键。所有的属性如下所示:

    ADD = u'ue025'
    ALT = u'ue00a'
    ARROW_DOWN = u'ue015'
    ARROW_LEFT = u'ue012'
    ARROW_RIGHT = u'ue014'
    ARROW_UP = u'ue013'
    BACKSPACE = u'ue003'
    BACK_SPACE = u'ue003'
    CANCEL = u'ue001'
    CLEAR = u'ue005'
    COMMAND = u'ue03d'
    CONTROL = u'ue009'
    DECIMAL = u'ue028'
    DELETE = u'ue017'
    DIVIDE = u'ue029'
    DOWN = u'ue015'
    END = u'ue010'
    ENTER = u'ue007'
    EQUALS = u'ue019'
    ESCAPE = u'ue00c'
    F1 = u'ue031'
    F10 = u'ue03a'
    F11 = u'ue03b'
    F12 = u'ue03c'
    F2 = u'ue032'
    F3 = u'ue033'
    F4 = u'ue034'
    F5 = u'ue035'
    F6 = u'ue036'
    F7 = u'ue037'
    F8 = u'ue038'
    F9 = u'ue039'
    HELP = u'ue002'
    HOME = u'ue011'
    INSERT = u'ue016'
    LEFT = u'ue012'
    LEFT_ALT = u'ue00a'
    LEFT_CONTROL = u'ue009'
    LEFT_SHIFT = u'ue008'
    META = u'ue03d'
    MULTIPLY = u'ue024'
    NULL = u'ue000'
    NUMPAD0 = u'ue01a'
    NUMPAD1 = u'ue01b'
    NUMPAD2 = u'ue01c'
    NUMPAD3 = u'ue01d'
    NUMPAD4 = u'ue01e'
    NUMPAD5 = u'ue01f'
    NUMPAD6 = u'ue020'
    NUMPAD7 = u'ue021'
    NUMPAD8 = u'ue022'
    NUMPAD9 = u'ue023'
    PAGE_DOWN = u'ue00f'
    PAGE_UP = u'ue00e'
    PAUSE = u'ue00b'
    RETURN = u'ue006'
    RIGHT = u'ue014'
    SEMICOLON = u'ue018'
    SEPARATOR = u'ue026'
    SHIFT = u'ue008'
    SPACE = u'ue00d'
    SUBTRACT = u'ue027'
    TAB = u'ue004'
    UP = u'ue013'
    
     
     
  • 相关阅读:
    应用程序连接hbase报错:java.net.SocketTimeoutException: callTimeout=60000
    《30岁前的每一天》读书笔记(一)
    你在为谁工作——IT帮深圳分站2019年3月线下活动回顾
    定义工作,解读自我——IT帮2019年2月线下活动回顾
    2018年终总结
    svn + nginx unit + python3自动化发布web服务方法
    关于nginx unit服务非正常关闭后,无法重新启动问题的处理
    90%以上的人都存在拖延症状,原来你没有做对这一件事
    我们没得拼爹,只能拼命,但拿什么来拼命?
    我们在努力创建自己的幸福生活,可为什么却常常感受不到幸福?
  • 原文地址:https://www.cnblogs.com/pywjh/p/9786782.html
Copyright © 2020-2023  润新知