硒+ python自动化测试之鼠标和键盘事件

  

前面的例子中,点击事件都是通过点击()方法实现鼠标的点击事件。其实在WebDriver中,提供了许多鼠标操作的方法,这些操作方法都封装在ActionChains类中,包括鼠标右击,双击,悬停和鼠标拖动等功能。

  

ActionChains类提供的鼠标操作事件

  
      <李> context_click():点击鼠标右键   <李> double_click():双击鼠标李   <李> drag_and_drop():拖动鼠标李   <李> move_to_element():鼠标悬停李   
  

鼠标悬停

  

页面上有些下拉菜单,在鼠标放到元素上以后,下面的菜单才会显示出来。下面的图片就是一个例子

  

硒+ python自动化测试之鼠标和键盘事件

  

百度首页上的设置项、下面的菜单默认不会显示,将鼠标停在上面后才会显示,这就是鼠标的悬停操作,菜单显示以后就可以对下面的项进行点击操作

  

进入搜索设置的代码

        # - * -编码:utf - 8 - *      从硒进口webdriver   导入的时间      司机=webdriver.Chrome ()   driver.get (“http://www.baidu.com”)   time . sleep (3)      设置=driver.find_element_by_link_text(“设置”)   webdriver.ActionChains(司机).move_to_element(设置).perform ()      time . sleep (1)      settings_search=driver.find_element_by_class_name (“setpref”)   settings_search.click ()      time . sleep (3)   driver.close ()      

打开页面后,根据链接的文本信息找到设置项,使用ActionChains的move_to_element()方法将鼠标悬停在设置上,然后找到搜索设置项

  

鼠标的右击,双击和拖动事件都是通过上述的方法调用,只要将方法替换一下就可以了。拖动事件需要传入两个参数,第一个参数是拖动的起点元素,第二个参数是终点元素

        webdriver.ActionChains(司机).context_click(右击的元素定位”).perform() #右击事件   webdriver.ActionChains(司机).double_click(“双击的元素定位”).perform() #双击事件   webdriver.ActionChains(司机)。drag_and_drop(“拖动的起点元素”,“拖动的终点元素”).perform() #拖动事件      

<强>键盘事件

  

键类中提供了几乎所有的键盘事件,在鼠标事件中用到了两个键盘事件,键盘的向下按键(send_keys (Keys.DOWN))和键盘的回车事件(send_keys (Keys.ENTER)。键盘的事件需要导入键模块

        从selenium.webdriver.common.keys导入密钥      

所有的键盘事件都包含在这个模块中,send_keys用来模拟键盘输入,除此之外,还可以用例模拟键盘上的按键,不仅支持单个的键盘按键,还支持组合按键输入

        # - * -编码:utf - 8 - *      从硒进口webdriver   导入的时间      司机=webdriver.Chrome ()   driver.get (“http://www.baidu.com”)   time . sleep (3)      driver.find_element_by_id(千瓦).send_keys(硒)#在搜索框中输入“硒”   driver.find_element_by_id(千瓦).send_keys (Keys.SPACE) #输入空格键   driver.find_element_by_id(千瓦).send_keys (python) #在搜索框中输入“python”   driver.find_element_by_id(千瓦).send_keys(钥匙。控制、a) #输入控制+模拟全选   driver.find_element_by_id(千瓦).send_keys(钥匙。控制、“c”) #输入控制+ c模拟复制   driver.find_element_by_id(千瓦).send_keys(钥匙。控制,“v”) #输入控制+ v模拟粘贴   driver.find_element_by_id(千瓦).send_keys (Keys.ENTER) #输入回车代替点击搜索按钮      time . sleep (3)   driver.close ()      

下面是一些常用的键盘事件:

  

——钥匙。BACK_SPACE:回退键(退格)
  ——钥匙。标签:制表键(选项卡)
  ——钥匙。输入:回车键(输入)
  ——钥匙。转变:大小写转换键(转变)
  ——钥匙。控制:控制键(Ctrl)
  ——钥匙。ALT: ALT键(ALT)
  ——钥匙。逃脱:返回键(Esc)
  ——钥匙。空间:空格键(空间)
  ——钥匙。PAGE_UP:翻页键上(页面)
  ——钥匙。PAGE_DOWN:翻页键下(下一页)
  ——钥匙。结束:行尾键(结束)
  ——钥匙。:行首键(家)
  ——钥匙。左:方向键左(左)
  ——钥匙。:方向键上()
  ——钥匙。右:方向键右(右)
  ——钥匙。:方向键下(下降)
  ——钥匙。插入:插入键(插入)

硒+ python自动化测试之鼠标和键盘事件