• selenium + python自动化测试unittest框架学习(三)webdriver元素操作(二)


    上一篇是元素的定位,那么定位元素的目的就是对元素进行操作,例如写入文本,点击按钮,拖动等等的操作

    (1)简单元素操作

    简单元素操作

    find_element_by_id("kw").clear()                         #文本框清空
    find_element_by_id("kw").send_keys("selenium")           #文本框输入
    find_element_by_id("button").click()                     #点击按钮操作

    (2)webElement接口常用的操作:

    WebElement类内容:获取元素属性、位置、是否可见、元素尺寸、元素截图等

    from selenium.webdriver.remote import webelement
    find_element_by_id("kw").get_attribute("type")           #获取元素的属性值
    find_element_by_id("submit").submit()                    #提交表单
    flag = find_element_by_id("kw").is_displayed()           #获取元素是否可见,值为True或False
    size = find_element_by_id("kw").size                     #获取元素的大小

    (3)鼠标操作:双击,鼠标右键,鼠标移动,拖动到元素上等操作

    ActionChains(driver):存储鼠标的操作

    perform():对指定的鼠标操作的执行

    from selenium.webdriver.common.action_chains import ActionChains
    
    right = driver.find_element_by_id("id")
    ActionChains(driver).context_clcik("right").perform()             #鼠标右键
    
    left = driver.find_element_by_id("id")
    ActionChains(driver).click_and_hold("left").perform()             #鼠标左键
    
    double = driver.find_element_by_id("id")
    ActionChains(driver).double_clcik("double").perform()             #鼠标双击
    
    move = driver.find_element_by_id("id")
    ActionChains(driver).move_to_element("move").perform()            #鼠标移动到某个元素上
    
    start = driver.find_element_by_id("id1")
    end = driver.find_element_by_id("id2")
    ActionChains(driver).drag_and_drop(start,end).perform()           #鼠标拖动某个元素从start位置到end的位置
    

    (4)键盘操作

    键盘的操作基于send_keys()方法

    from selenium.webdriver.common.Keys import Keys
    
    driver.find_element_by_id("kw").send_keys(KEY.BACK_SPACE)          #删除键
    driver.find_element_by_id("kw").send_keys(KEY.ENTER)               #回车键
    driver.find_element_by_id("kw").send_keys(KEY.SPACE)               #空格键
    driver.find_element_by_id("kw").send_keys(KEY.TAB)                 #制表符
    driver.find_element_by_id("kw").send_keys(KEY.ESCAPE)              #退出键
    driver.find_element_by_id("kw").send_keys(KEY.CONTROL,'a')         #全选
    driver.find_element_by_id("kw").send_keys(KEY.CONTROL,'c')         #复制
    driver.find_element_by_id("kw").send_keys(KEY.CONTROL,'v')         #粘贴
    driver.find_element_by_id("kw").send_keys(KEY.CONTROL,'x')         剪切
  • 相关阅读:
    android bitmap 防止 内存溢出
    析android应用增量升级(差分升级)
    android 数据库查询中使用索引-大幅提高数据库操作速度
    android 插件框架
    android悬浮view-FloatingView
    android 消息分发框架 otto
    修改了USER_AGENT还是不能抓取到数据怎么办?
    找不到指定文件scrapy,在pycharm中运行程序出现错误
    scrapy抓取豆瓣网信息时报错提醒403[scrapy.spidermiddlewares.httperror] INFO
    slidetoshutdown电脑滑动关机命令失效了怎么办?
  • 原文地址:https://www.cnblogs.com/evablogs/p/7201199.html
Copyright © 2020-2023  润新知