zoukankan      html  css  js  c++  java
  • Selenium3+python3自动化(十)--操作元素(键盘和鼠标事件)

    前言

    在前面几篇中重点介绍了一些元素的定位方法,定位元素后,接下来就是操作元素了。下面讲解操作元素(键盘和鼠标事件)

    一、简单操作

    1.点击(鼠标左键)页面按钮:click()

    2.清空输入框:clear()

    3.输入字符串:send_keys()

    4.打开百度后,一般为了保证输入的正确性,可以先清空输入框,然后输入搜索关键字

    # coding:utf-8
    from selenium import webdriver
    import time
    driver=webdriver.Chrome()
    driver.get("https://www.baidu.com")
    driver.find_element_by_id("su").click()
    driver.find_element_by_name("wd").clear()
    driver.find_element_by_name("wd").send_keys("xixi")
    driver.find_element_by_id("su").submit() #也可以使用.click()

     二、submit提交表单

    1.在前面百度搜索案例中,输入关键字后,可以直接按回车键搜索,也可以点搜索按钮搜索

    2.submit()一般用于模拟回车键

    三、键盘操作

    1.selenium提供了一整套的模拟键盘操作事件

    2.模拟键盘的操作需要先导入键盘模块:from selenium.webdriver.common.keys import Keys

    3.模拟enter键,可以用send_keys(Keys.ENTER)

    # coding:utf-8
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    import time
    driver=webdriver.Chrome()
    driver.get("https://www.baidu.com")
    driver.find_element_by_id("su").click()
    driver.find_element_by_name("wd").clear()
    driver.find_element_by_name("wd").send_keys("xixi")
    #模拟enter键操作回车按钮
    driver.find_element_by_id("su").send_keys(Keys.ENTER)
    

     4.其它常见的键盘操作:

    键盘F1到F12:send_keys(Keys.F1) 把F1改成对应的快捷键

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

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

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

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

    制表键Tab:send_keys(Kesy.TAB)

    这里只是列了一些常用的,当然除了键盘事件,也有鼠标事件

    四、鼠标悬停事件

    1.鼠标不仅仅可以点击(click),鼠标还有其它的操作,如:鼠标悬停在某个元素上,鼠标右击,鼠标按住某个按钮拖拽

    2.鼠标事件需要先导入模块:from selenium.webdriver.common.action_chains import ActionChains

      perform() 执行所有ActionChains中的行为

      move_to_element() 鼠标悬停

    3.这里以百度页面设置按钮为例

    # coding:utf-8
    from selenium import webdriver
    from selenium.webdriver.common.action_chains import ActionChains
    import time
    driver=webdriver.Chrome()
    driver.get("https://www.baidu.com")
    time.sleep(2)
    s=driver.find_element_by_id("s-usersetting-top")
    #鼠标悬停在搜索设置按钮上
    ActionChains(driver).move_to_element(s).perform()
    

     4.除了常用的鼠标悬停事件外,还有

    右击鼠标:context_click()

    双击鼠标:double_click()

    替换上面案例中对应的鼠标事件就可以了

    越努力,越幸运!!! good good study,day day up!!!
  • 相关阅读:
    Gentle.Net学习笔记一:配置文件设置
    啥时候咱能用上NExcelApi?
    ibus no input window
    QT && GDAL
    安装 purcell 的emacs.d 配置文件
    进程
    C++的cout高阶格式化操作
    C++ 虚函数表解析
    [转]C程序内存区域分配(5个段作用)
    如何写Makefile文件
  • 原文地址:https://www.cnblogs.com/canglongdao/p/13578633.html
Copyright © 2011-2022 走看看