zoukankan      html  css  js  c++  java
  • Selenium 3----鼠标、键盘操作常用方法

    【鼠标】

    在 WebDriver 中, 关于鼠标操作的方法封装在 ActionChains 类中。

    ActionChains 类提供了鼠标操作的常用方法:

    • perform(): 执行所有 ActionChains 中存储的行为;

    • context_click(): 右击;

    • double_click(): 双击;

    • drag_and_drop(): 拖动;

    • move_to_element(): 鼠标悬停。

    鼠标悬停操作

    from selenium import webdriver
    # 引入 ActionChains 类
    from selenium.webdriver.common.action_chains import ActionChains #导入提供鼠标操作的 ActionChains 类,也可from selenium.webdriver import ActionChains
    
    driver = webdriver.Chrome()
    driver.get('https://www.baidu.com')
    
    # 定位到要悬停的元素
    above = driver.find_element_by_link_text("更多产品")
    # 对定位到的元素执行鼠标悬停操作
    ActionChains(driver).move_to_element(above).perform()  # 调用 ActionChains()类, 将浏览器驱动 driver 作为参数传入。
    

    【键盘】

    Keys()类提供了键盘上几乎所有按键的方法。 前面了解到, send_keys()方法可以用来模拟键盘输入, 除此 之外, 我们还可以用它来输入键盘上的按键, 甚至是组合键, 如 Ctrl+A、 Ctrl+C 等。

    from selenium import webdriver
    
    #引入Keys模块
    from selenium.webdriver.common.keys import Keys 
    
    
    driver = webdriver.Chrome()
    driver.get('https://www.baidu.com')
    
    #输入框输入内容
    driver.find_element_by_id('kw').send_keys('seleniumm')
    
    #删除多输入的一个m
    driver.find_element_by_id('kw').send_keys(Keys.BACK_SPACE)
    
    #输入空格键+“教程”
    driver.find_element_by_id("kw").send_keys(Keys.SPACE)
    driver.find_element_by_id('kw').send_keys("教程")
    
    #ctrl+a 全选输入框内容
    driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')
    
    # ctrl+x 剪切输入框内容
    driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'x')
    
    #ctrl+v 粘贴内容到输入框
    driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'v')
    
    #通过回车键来代替单击操作
    driver.find_element_by_id('su').send_keys(Keys.ENTER)
    

       send_keys()方法用来模拟键盘输入,常用的键盘操作:

    • send_keys(Keys.BACK_SPACE) 删除键(BackSpace)

    • send_keys(Keys.SPACE) 空格键(Space)

    • send_keys(Keys.TAB) 制表键(Tab)

    • send_keys(Keys.ESCAPE) 回退键(Esc)

    • send_keys(Keys.ENTER) 回车键(Enter)

    • send_keys(Keys.CONTROL,'a') 全选(Ctrl+A)

    • send_keys(Keys.CONTROL,'c') 复制(Ctrl+C)

    • send_keys(Keys.CONTROL,'x') 剪切(Ctrl+X)

    • send_keys(Keys.CONTROL,'v') 粘贴(Ctrl+V)

    • send_keys(Keys.F1) 键盘 F1

    • ……

    • send_keys(Keys.F12) 键盘 F12

  • 相关阅读:
    centos7 忘记mysql5.7密码
    阿里云Linux(Centos7)下搭建SVN服务器
    JAVA金额格式字符串转数值
    win10下RabbitMQ的安装和配置
    Oracle update 两表及以上关联更新,出现多值情况,不是一对一更新
    java.lang.OutOfMemoryError: java heap space
    bootstrap.min.css.map
    css 边距等常用设置
    html 标签
    数据库总结
  • 原文地址:https://www.cnblogs.com/nfgg/p/10595366.html
Copyright © 2011-2022 走看看