• selenium基础(鼠标和键盘事件)


    selenium鼠标和键盘的操作事件

    webdriver常见的几种操作方法

    • clear():清楚文本文字
    • send_keys(values):模拟按键输入,values是输入的内容
    • click():单击元素,例如按钮操作、超链接操作
    • submit():用于提交表单。例如:输入内容后的“回车”操作
    • size():返回元素的尺寸
    • text():获取元素的文本
    • get_attribute(name):获取属性值
    • is_displayed():设置该元素是否用户可见

    ActionChains类提供的鼠标操作常用的方法  

      引入ActionChains使用语句:from selenium.webdriver.common.action_chains import ActionChains

    • perform():执行所有ActionChains方法中存放的行为
    • context_click():右击
    • double_click():双击
    • drag_and_drop():拖动
    • move_to_element():鼠标悬停
    • click_and_hold():按下鼠标左键在一个元素上

    鼠标悬停操作的实例

      在,百度首页,将鼠标悬停在【设置】超级链接的按钮上,选择【高级搜索】链接并点击进入该页面

    from selenium import webdriver
    import time
    from selenium.webdriver.common.action_chains import ActionChains#引入ActionChains方法包,用于鼠标操作
    
    driver=webdriver.Chrome()
    driver.maximize_window()
    driver.get("https://www.baidu.com")#进入百度首页
    
    above=driver.find_element_by_link_text("设置")#定位到要悬停的元素
    ActionChains(driver).move_to_element(above).perform()#对定位到的元素进行悬停操作
    driver.find_element_by_link_text("高级搜索").click()#点击下拉菜单中的“高级搜索”按钮
    time.sleep(8)
    
    driver.quit()

    二、key()类提供了键盘上所有按键的方法

    • send_key()方法可以用来模拟键盘输入
    • 还可以用它来输入键盘上的按键,甚至是组合键,如:Ctrl+C、Ctrl+V等
    • 导入keys类语法:from selenium.webdriver.common.keys import Keys

    以下是常用的键盘操作

    • send_keys(keys.BACK_SPACE):删除键(backspace)
    • send_keys(keys_SPACE):空格键(space)
    • send_keys(keys.TAB):制表键(tab)
    • send_keys(keys.ENTER):回车键(enter)
    • send_keys(keys.CONTROL,'a'):全选(ctrl+A)
    • send_keys(keys.CONTROL,'c'):复制(ctrl+C)
    • send_keys(keys.CONTROL,'v'):粘贴(ctrl+V)
    • send_keys(keys.CONTROL,'x'):剪切(ctrl+X)
    • send_keys(keys.F1):键盘F1~F12 
    • from selenium import webdriver
      import time
      from selenium.webdriver.common.keys import Keys#引入Keys方法包,用于键盘操作
      
      driver=webdriver.Firefox()
      driver.maximize_window()
      driver.get("https://www.baidu.com")#进入百度首页
      driver.find_element_by_id('kw').send_keys("seleniumm")#发送selenium时多发送了一个字母
      time.sleep(1)
      driver.find_element_by_name('wd').send_keys(Keys.BACK_SPACE)#删除一个字符
      time.sleep(1)
      driver.find_element_by_css_selector('input#kw').clear()#将文本框中的内容清楚
      time.sleep(1)
      driver.find_element_by_class_name('s_ipt').send_keys('current_url')#在输入框输入内容
      time.sleep(1)
      driver.find_element_by_xpath('//input[@id="kw"]').send_keys(Keys.SPACE)#输入一个空格
      time.sleep(1)
      driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'a')#全选输入空中的问题
      time.sleep(1)
      driver.find_element_by_id('kw').send_keys(Keys.CONTROL,'x')#剪切输入框中的问题
      time.sleep(1)
      driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'V')#粘贴剪切的内容
      time.sleep(1)
      driver.find_element_by_id('kw').send_keys(Keys.ENTER)#按回车键
      time.sleep(1)
      
      driver.quit()
  • 相关阅读:
    模式识别之svm()---支持向量机svm 简介1995
    机器视觉之相关资源--- 计算机视觉相关的部分测试数据集和源码站点
    包的引入,不要引入自己目录下的。
    内省对象 用的少,被BeanUtils代替
    使用增强for循环遍历集合的时候操作集合的问题?
    Integer 内部实现
    eclipse常用快捷键
    java 运行时环境和编译器环境
    js 随机变换图片
    js 事件点击 显示 隐藏
  • 原文地址:https://www.cnblogs.com/jingdenghuakai/p/11679520.html
Copyright © 2020-2023  润新知