• selenium+Python(鼠标和键盘事件)


           本篇总结了 web 页面常用的一些操作元素方法,可以统称为行为事件
    有些 web 界面的选项菜单需要鼠标悬停在某个元素上才能显示出来(如百度页面的设置按钮)。

    1 简单操作

    1.点击(鼠标左键)页面按钮:click()
    2.请空输入框:clear()
    3.输入字符串:send_keys()
    4.打开测试部落论坛后,点击放大镜搜索图标,一般为了保证输入的正确性,可以先清
    空下输入框,然后输入搜索关键字

    1
    2
    3
    4
    5
    6
    7
    8
    # coding:utf-8
    from selenium import webdriver
    driver = webdriver.Firefox()
    driver.get("http://www.baidu.com ")
    driver.implicitly_wait(10)
    driver.find_element_by_id("kw").click()
    driver.find_element_by_id("kw").clear()
    driver.find_element_by_id("kw").send_keys("selnium")

    2.submit 提交表单

    1.在前面百度搜索案例中,输入关键字后,可以直接按回车键搜索,也可以点搜索按钮搜索。
    2.submit()一般用于模拟回车键

    1
    2
    3
    4
    5
    6
    7
    8
    # coding:utf-8
    from selenium import webdriver
    driver = webdriver.Firefox()
    driver.get("http://www.baidu.com ")
    driver.implicitly_wait(10)
    driver.find_element_by_id("kw").send_keys("selnium")
    # submit() 模拟enter键提交表单
    driver.find_element_by_id("kw").submit()

    3 键盘操作

    1.selenium 提供了一整套的模拟键盘操作事件,前面 submit()方法如果可行的话,可
    以试试模拟键盘事件
    2.模拟键盘的操作需要先导入键盘模块:from selenium.webdriver.common.keys
    import Keys
    3.模拟 enter 键,可以用 send_keys(Keys.ENTER)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # coding:utf-8
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    driver = webdriver.Firefox()
    driver.get("http://www.baidu.com ")
    driver.implicitly_wait(10)
    driver.find_element_by_id("kw").click()
    driver.find_element_by_id("kw").clear()
    driver.find_element_by_id("kw").send_keys("selnium")
    # 模拟enter键操作回车按钮
    driver.find_element_by_id("kw").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(Keys.TAB)
    这里只是列了一些常用的,当然除了键盘事件,也有鼠标事件

    4 鼠标悬停事件

    1.鼠标不仅仅可以点击(click),鼠标还有其它的操作,如:鼠标悬停在某个元素上,鼠标右击,鼠标按住某个按钮拖到
    2.鼠标事件需要先导入模块:from selenium.webdriver.common.action_chainsimport ActionChains
    perform() 执行所有 ActionChains 中的行为
    move_to_element() 鼠标悬停
    3.这里以百度页面设置按钮为例
    4.除了常用的鼠标悬停事件外,还有
    右击鼠标:context_click()
    双击鼠标:double_click()

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # coding:utf-8
    from selenium import webdriver
    # 引入ActionChains类
    from selenium.webdriver.common.action_chains import ActionChains
    # 使用方法
    brower = webdriver.Firefox()
    brower.get("http://www.baidu.com")
    # 定位到需要右击的元素并赋值给rigth_click
    right_click = brower.find_element_by_id("kw")
    # 对定位到的元素进行右击操作。
    ActionChains(brower).context_click(right_click).perform()
  • 相关阅读:
    定时清理日志的shell脚本
    图解 Elestricsearch 写入流程
    消息队列产生严重消息堆积怎么处理?
    消息队列如何确保消息的有序性?
    架构模式 CQRS
    消息队列把消息弄丢了怎么办?
    3 个主流 Java 微服务框架
    RabbitMQ、Kafka、RocketMQ 是如何实现高可用的?
    Kafka 不再需要 ZooKeeper
    微服务设计原则
  • 原文地址:https://www.cnblogs.com/jiangmingbai/p/10969430.html
Copyright © 2020-2023  润新知