Selenium-鼠标操作

有些特殊的系统可能需要模拟键盘或者鼠标的操作才可以

鼠标的操作不仅仅是click()单击操作,还有很多包含在ActionChains类中

  context_click(elem)  右击鼠标点击元素elem,另存为等行为

  double_click(elem)  双击鼠标点击元素elem,地图web可实现放大

  drag_and_drop(source,target)  拖动鼠标,源元素按下左键移动至目标元素释放

  move_to_element(elem)  鼠标移动到一个元素上,也就是鼠标悬浮

  click_and_hold(elem)  按下鼠标左键在一个元素上  

  perform()  再通过调用该函数执行AcitonChains中存储的行为

实例:

百度搜索首页:设置:搜索设置

设置是悬浮的,选中搜索设置

#! /usr/bin/env python
#coding=utf-8

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time

'''
百度搜索首页:设置:搜索设置
'''
driver = webdriver.Firefox()
driver.get("https://www.baidu.com/")
time.sleep(3)

#利用链接,定位到"设置"元素
mm = driver.find_element_by_link_text("设置")
ActionChains(driver).move_to_element(mm).perform()

time.sleep(3)

driver.find_element_by_link_text("搜索设置").click()
time.sleep(5)

driver.quit()

 

百度首页-百度log图片-右键点击

 

#! /usr/bin/env python
#coding=utf-8

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time


driver = webdriver.Firefox()
driver.get("https://www.baidu.com/")
time.sleep(3)

#鼠标移动到图片上,右击
elem_pic = driver.find_element_by_xpath(".//*[@id='lg']/img")
print("图片资源地址:",elem_pic.get_attribute("src"))
action = ActionChains(driver).move_to_element(elem_pic)
action.context_click(elem_pic)

action.perform()
time.sleep(5)
driver.quit()

结果:图片资源地址: https://www.baidu.com/img/bd_logo1.png

 

posted @ 2017-09-03 01:25  R-Bear  阅读(304)  评论(0编辑  收藏  举报