• 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

  • 相关阅读:
    Java13新特性 -- 重新实现旧版套接字API
    Java13新特性 -- switch表达式动态CDS档案(动态类数据共享归档)
    Java13新特性 -- 文本块
    Java13新特性 -- switch表达式
    Java12新特性 -- 其他新增,移除,废弃项
    Java12新特性 -- 增强G1,自动返回未用堆内存给操作系统
    Java12新特性 -- 可中断的 G1 Mixed GC
    Java12新特性 -- 默认生成类数据共享(CDS)归档文件
    Java12新特性 -- 只保留一个 AArch64 实现
    python使用requests发送text/xml报文数据
  • 原文地址:https://www.cnblogs.com/nfgg/p/10595366.html
Copyright © 2020-2023  润新知