zoukankan      html  css  js  c++  java
  • python + selenium 模拟键盘

    ActionChains类鼠标操作的常用方法:
    引入ActionChains类:from selenium.webdriver.common.action_chains import ActionChains

    1.右击
    方法:context_click()
    实例:ActionChains(driver).context_click(driver.find_element_by_id("id")).perform()
    --------------------------------------------------------------------------------
    2.双击
    方法:double_click()
    实例:ActionChains(driver).double_click(driver.find_element_by_name("name")).perform()
    --------------------------------------------------------------------------------
    3:鼠标拖放
    方法:drag_and_drop(source, target)
    source:鼠标按下的源元素;target:鼠标释放的目标元素
    实例:element = driver.find_element_by_name("name")
    target = driver.find_element_by_name("name")
    ActionChains(driver).drag_and_drop(element, target).perform()
    --------------------------------------------------------------------------------
    4:鼠标悬停在一个元素上(hover)
    方法:move_to_element()
    实例:above = driver.find_element_by_xpath("xpath路径")
    ActionChains(driver).move_to_element(above).perform()
    --------------------------------------------------------------------------------
    5:按下鼠标左键在一个元素上
    方法:click_and_hold()
    实例:left = driver.find_element_by_name("name")
    ActionChains(driver).click_and_hold(left).perform()
    --------------------------------------------------------------------------------
    键盘事件:
    引入Keys类包:from selenium.webdriver.common.keys import Keys

    --------------------------------------------------------------------------------
    6:输入
    方法:send_keys()
    实例:driver.find_element_by_id("id").send_keys("XXX")
    --------------------------------------------------------------------------------
    7:输入空格
    方法:send_keys(Keys.SPACE)
    实例:driver.find_element_by_id("id").send_keys(Keys.SPACE)
    --------------------------------------------------------------------------------
    8:ctrl + a
    全选输入框的内容
    ctrl + x
    剪切输入框的内容
    ctrl + v
    粘贴到输入框
    ctrl + c
    复制
    方法:send_keys(Keys.CONTROL,'a')
    实例:driver.find_element_by_id("id").send_keys(Keys.CONTROL,'a')
    --------------------------------------------------------------------------------
    9:回车代替点击
    方法:send_keys(Keys.ENTER)
    实例:driver.find_element_by_id("id").send_keys(Keys.ENTER)
    --------------------------------------------------------------------------------
    10:制表键(Tab)
    方法:send_keys(Keys.TAB)
    实例:driver.find_element_by_id("id").send_keys(Keys.TAB)
    --------------------------------------------------------------------------------
    11:回退键(Esc)
    方法:send_keys(Keys.ESCAPE)
    实例:driver.find_element_by_id("id").send_keys(Keys.ESCAPE)

  • 相关阅读:
    洛谷 P1260 工程规划(差分约束)
    洛谷 P3660 [USACO17FEB]Why Did the Cow Cross the Road III G(树状数组)
    [模板]单调队列
    [模板]LIS(最长上升子序列)
    洛谷 P2899 [USACO08JAN]手机网络Cell Phone Network(树形动规)
    如何求数字n的因数个数及因数和
    [模板]tarjan缩点+拓扑排序
    itext生成pdf(附带页眉,页脚,页码)
    工作总结03
    工作总结02(海报上传模块)
  • 原文地址:https://www.cnblogs.com/wyj497022944/p/9626808.html
Copyright © 2011-2022 走看看