zoukankan      html  css  js  c++  java
  • Python3+Selenium3+webdriver学习笔记5(模拟常用键盘和鼠标事件)

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-

    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.common.action_chains import ActionChains

    import time,os

    # about:addons 火狐浏览器安装组件,访问的地址

    # <input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">
    # <input type="submit" value="百度一下" id="su" class="btn self-btn bg s_btn">
    #id
    keys="selenium自动化"
    delay=3
    url="https://www.baidu.com/"
    driver=webdriver.Firefox()

    driver.get(url)

    #等待delay秒
    driver.implicitly_wait(delay)

    #输入字符串
    driver.find_element_by_id("kw").send_keys(keys)

    #清空输入的内容
    driver.find_element_by_id("kw").clear()

    #鼠标左键点击
    driver.find_element_by_id("su").click()

    driver.find_element_by_id("kw").send_keys(keys)

    #模拟回车提交表单
    driver.find_element_by_id("kw").submit()

    driver.find_element_by_id("kw").send_keys(Keys.ENTER)

    #复制 粘贴 全选 剪切 制表键 f11~f12
    driver.find_element_by_id("kw").send_keys(keys,Keys.CONTROL,'c')

    driver.find_element_by_id("kw").send_keys(keys,Keys.CONTROL,'v')

    driver.find_element_by_id("kw").send_keys(keys,Keys.CONTROL,'a')

    driver.find_element_by_id("kw").send_keys(keys,Keys.CONTROL,'x')

    driver.find_element_by_id("kw").send_keys(Keys.TAB)

    driver.find_element_by_id("kw").send_keys(Keys.F1)

    #执行ActionChains中的所有行为
    source=driver.find_element_by_link_text("设置")
    target=driver.find_element_by_link_text("新闻")

    # 鼠标悬停
    ActionChains(driver).move_to_element(source).perform()

    # 右击鼠标
    ActionChains(driver).context_click(source).perform()

    # 双击鼠标
    ActionChains(driver).double_click(source).perform()

    #鼠标移动到另一个位置
    ActionChains(driver).drag_and_drop(source,target).perform()

    # 鼠标左键
    ActionChains(driver).click_and_hold(source).perform()


    #等待delay秒
    time.sleep(delay)

    driver.quit()


  • 相关阅读:
    物理分辨率与逻辑分辨率,pt与px
    JBPM学习(四):执行流程实例
    JBPM学习(三):管理流程定义
    JBPM学习(二):ProcessEngine与Service API
    JBPM学习(一):实现一个简单的工作流例子全过程
    jbpm与spring hibernate struts整合
    代理模式 自己写的
    java反射与代理模式
    使用freemarker生成html
    freemarker 数字,字符的操作
  • 原文地址:https://www.cnblogs.com/NiceTime/p/10063376.html
Copyright © 2011-2022 走看看