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

时间: 2024-08-06 18:34:25

Selenium-鼠标操作的相关文章

selenium鼠标操作

背景:  页面中的表格都是用canvas画出来的,导致无法定位到canvas里面的内容,但是点击的内容可以从双击后的详细页面获取. 解决方案 通过canvas标签元素的坐标位置的相对位置来点击canvas中的任何一条记录后进入到详情页面再获取详情页中的元素信息. actions = ActionChains(self.webdriver) actions.move_to_element_with_offset(el, 102, 35).context_click().perform() #el是

chromedriver设置无界面模式 selenium基础操作

chromedriver设置无界面模式 from selenium import webdriver options = webdriver.ChromeOptions() # 添加无界面参数 options.add_argument('--headless') browser = webdriver.Chrome(options=options) browser.get('http://www.baidu.com/') browser.save_screenshot('baidu.png')

python selenium鼠标键盘操作(ActionChains)

用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击.双击.点击鼠标右键.拖拽等等.而selenium给我们提供了一个类来处理这类事件--ActionChains selenium.webdriver.common.action_chains.ActionChains(driver) 这个类基本能够满足我们所有对鼠标操作的需求. 1.ActionChains基本用法 首先需要了解ActionChains的执行原理,当你调用ActionChains的方法时,不会立即执行

selenium webdriver 浏览器操作,编码问题,鼠标操作,键盘按键操作,显示和隐式等待

'''size 返回元素的尺寸text 获取元素的文本,测试用例中的断言<a id='cp'>文本信息</a>t_attribute(name) 获取元素属性值is_displayed() 设置该元素是否用户可见''' from selenium import webdriverdriver=webdriver.Firefox()driver.get("https://www.baidu.com") #获取输入框的尺寸size=driver.find_eleme

selenium自动化之鼠标操作(转)

在做自动化测试的时候,经常会遇到这种情况,某个页面元素,你必须要把鼠标移动到上面才能显示出元素.那么这种情况,我们怎么处理呢?,selenium给我们提供了一个类来处理这类事件——ActionChains. ActionChains可以对需要模拟鼠标操作才能进行的情况,比如单击.双击.点击鼠标右键.拖拽等等进行操作.ActionChains方法列表: click(on_element=None) ——单击鼠标左键 click_and_hold(on_element=None) ——点击鼠标左键,

【Selenium02篇】python+selenium实现Web自动化:鼠标操作和键盘操作!

一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第二篇博文 二.Selenium第一篇博文地址: [Selenium01篇]python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作! 三.Selenium之鼠标操作和键盘操作 1.鼠标事件 在webdriver中,鼠标操作的方法封装在 ActionChai

selenium webDriver 鼠标操作

之前网上查资料都是 action2.click();  经测试不行的.最后发现action2.click().perform(); 才有效.至于为什么目前还不清楚,但至少会用了.现在就把我的代码copy过来: 代码示例: //只有对象是visible时才可以操作,所以要等待状态变为visible WebElement mC = driver.findElement(By.xpath("//div[contains(text(),'产品详情')]/../../div/img" )); i

java selenium (十) 操作浏览器

本篇文章介绍selenium 操作浏览器 阅读目录 浏览器最大化 前进,后退, 刷新 public static void testBrowser(WebDriver driver) throws Exception { driver.get("http://www.cnblogs.com/tankxiao"); Thread.sleep(5000); // 浏览器最大化 driver.manage().window().maximize(); driver.navigate().to

selenium鼠标键盘事件(转)

概念 在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作.在 WebDeriver 中,有一个专门的类来负责实现这些测试场景,那就是 Actions 类,在使用该类的过程中会配合使用到 Keys 枚举以及 Mouse. Keyboard.CompositeAction 等类. 其次,在实际测试过程中,可能会遇到某些按键没办法使用 Actions.Keys

自动化测试基础篇--Selenium鼠标键盘事件

前面几篇文章我们学习了怎么定位元素,同时通过实例也展示了怎么切换到iframe,怎么输入用户名和密码,怎么点击登录按钮,首先我们先回顾一下元素的基本操作. 1.点击(鼠标左键)页面按钮:click() 2.请空输入框:clear() 3.输入字符串:send_keys() 4.提交表单:submit() 今天这篇文章着重讲一下键盘和鼠标的模拟事件. 一.鼠标事件 1.首先模拟鼠标的操作需要先导入鼠标模块: from selenium.webdriver.common.action_chains