zoukankan      html  css  js  c++  java
  • 4. selenium中鼠标和键盘操作

    一、鼠标操作

    第一步:引入模块函数 

    from selenium.webdriver.common.action_chains import ActionChains 

    第二步:元素定位

    element = driver.find_elements_by_id('kw')
    

    第三步:创建一个action对象

    action = ActionChains(driver)
    

    第四步:在action对象上操作鼠标

    action.move_to_element(element)
    

    第五步:在action上进行perform,即实现刚刚一系列的动作提交

     

    action.perform()
    

      

    总的:

    driver = webdriver.Chrome()
    element = driver.find_elements_by_id('kw')
    action = ActionChains(driver)
    action.move_to_element(element)
    action.perform()
    

      

    ActionChains方法列表:

    click(on_element=None) ——单击鼠标左键

    click_and_hold(on_element=None) ——点击鼠标左键,不松开

    context_click(on_element=None) ——点击鼠标右键

    double_click(on_element=None) ——双击鼠标左键

    drag_and_drop(source, target) ——拖拽到某个元素然后松开

    drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某个坐标然后松开

    key_down(value, element=None) ——按下某个键盘上的键

    key_up(value, element=None) ——松开某个键

    move_by_offset(xoffset, yoffset) ——鼠标从当前位置移动到某个坐标

    move_to_element(to_element) ——鼠标移动到某个元素

    move_to_element_with_offset(to_element, xoffset, yoffset) ——移动到距某个元素(左上角坐标)多少距离的位置

    perform() ——执行链中的所有动作

    release(on_element=None) ——在某个元素位置松开鼠标左键

    send_keys(*keys_to_send) ——发送某个键到当前焦点的元素

    send_keys_to_element(element, *keys_to_send) ——发送某个键到指定元素

    二、键盘操作:

    引入模块函数:

    from selenium.webdriver.common.keys import Keys
    

      

    # -*- coding: utf-8 -*-
    
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    import time
    
    driver = webdriver.Chrome()
    driver.get("http://www.baidu.com")
    time.sleep(3)
    
    driver.find_element_by_id('kw').send_keys('selenium')  #在搜索框中输入"selenium"
    driver.find_element_by_id('kw').send_keys(Keys.SPACE)  #输入空格键
    driver.find_element_by_id('kw').send_keys('python')  #在搜索框中输入"python"
    driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'a')  #输入Control+a模拟全选
    driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'c')  #输入Control+c模拟复制
    driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'v')  #输入Control+v模拟粘贴
    driver.find_element_by_id('kw').send_keys(Keys.ENTER)  #输入回车代替点击搜索按钮
    
    time.sleep(3)
    driver.close()
    
    #下面是一些常用的键盘事件:
    
    # Keys.BACK_SPACE:回退键(BackSpace)
    # Keys.TAB:制表键(Tab)
    # Keys.ENTER:回车键(Enter)
    # Keys.SHIFT:大小写转换键(Shift)
    # Keys.CONTROL:Control键(Ctrl)
    # Keys.ALT:ALT键(Alt)
    # Keys.ESCAPE:返回键(Esc)
    # Keys.SPACE:空格键(Space)
    # Keys.PAGE_UP:翻页键上(Page Up)
    # Keys.PAGE_DOWN:翻页键下(Page Down)
    # Keys.END:行尾键(End)
    # Keys.HOME:行首键(Home)
    # Keys.LEFT:方向键左(Left)
    # Keys.UP:方向键上(Up)
    # Keys.RIGHT:方向键右(Right)
    # Keys.DOWN:方向键下(Down)
    # Keys.INSERT:插入键(Insert)
    # DELETE:删除键(Delete)
    # NUMPAD0 ~ NUMPAD9:数字键1-9
    # F1 ~ F12:F1 - F12键
    # (Keys.CONTROL, ‘a’):组合键Control+a,全选
    # (Keys.CONTROL, ‘c’):组合键Control+c,复制
    # (Keys.CONTROL, ‘x’):组合键Control+x,剪切
    # (Keys.CONTROL, ‘v’):组合键Control+v,粘贴
    

      

  • 相关阅读:
    MSSQL锁定1.Isolation level (myBased)
    等待状态CXPACKET分析
    拒绝了对对象 'sp_sdidebug'(数据库 'master',所有者 'dbo')的 EXECUTE 权限
    Oracle CBO 统计信息的收集与执行计划的选择
    Oracle 11gR1 on Win7
    读书笔记 <<你的知识需要管理>>
    ORA01555 总结
    Buffer Cache Management
    如何选择合适的索引
    书评 <SQL Server 2005 Performance Tuning性能调校> 竟然能够如此的不用心........
  • 原文地址:https://www.cnblogs.com/lintest/p/11714374.html
Copyright © 2011-2022 走看看