• 3、操作元素:模拟键盘、鼠标事件


    一、简单操作
    1.点击(鼠标左键)页面按钮:click() 
    2.清空输入框:clear()
    3.输入字符串:send_keys()
    4.send_keys()如果是収送中文的,前面需加 u,如:u"中文",因为这里是输入windows 系统,windows 系统是 GBK 编码,我们的脚本是 utf-8,需要转码为 Unicode 国际编码,返样才能识别到
     
    5、submit()模拟提交操作
    二、模拟鼠标操作
    在 WebDriver 中, 将这些关于鼠标操作的方法封装在 ActionChains 类。ActionChains 类提供了鼠标操作的常用方法:

    首先要引入包
    from selenium.webdriver import ActionChains
    ActionChains方法列表:

    click(on_element=None) ——单击鼠标左键

    context_click(on_element=None) ——点击鼠标右键

    double_click(on_element=None) ——双击鼠标左键

    drag_and_drop(source, target) ——拖拽到某个元素然后松开

    move_to_element(to_element) ——鼠标移动到某个元素

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

    drag_and_drop_by_offset(source, xoffset, yoffset) ——拖拽到某个坐标然后松开

    key_down(value, element=None) ——按下某个键盘上的键

    key_up(value, element=None) ——松开某个键

    click_and_hold(on_element=None) ——点击鼠标左键,不松开

    move_by_offset(xoffset, yoffset) ——鼠标从当前位置移动到某个坐标

    move_to_element_with_offset(to_element, xoffset, yoffset) ——移动到距某个元素(左上角坐标)多少距离的位置

    release(on_element=None) ——在某个元素位置松开鼠标左键

    send_keys(*keys_to_send) ——发送某个键到当前焦点的元素

    send_keys_to_element(element, *keys_to_send) ——发送某个键到指定元素

    三、模拟键盘操作
     
    Keys类提供了几乎键盘上的所有按键的方法,我们可以用Keys来模拟键盘上的按键,或者组合键,如Ctrl + C、Ctrl + V等等
    1、首先要导入keys模块
    from selenium.webdriver.common.keys import Keys
    2.常见的键盘操作:

    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

  • 相关阅读:
    LeetCode对撞指针汇总
    167. Two Sum II
    215. Kth Largest Element in an Array
    2018Action Recognition from Skeleton Data via Analogical Generalization over Qualitative Representations
    题解 Educational Codeforces Round 84 (Rated for Div. 2) (CF1327)
    题解 JZPKIL
    题解 八省联考2018 / 九省联考2018
    题解 六省联考2017
    题解 Codeforces Round #621 (Div. 1 + Div. 2) (CF1307)
    题解Codeforces Round #620 (Div. 2)
  • 原文地址:https://www.cnblogs.com/yhms/p/11783578.html
Copyright © 2020-2023  润新知