首页 > 其他分享 >selenium(5)鼠标,键盘事件

selenium(5)鼠标,键盘事件

时间:2024-03-24 13:22:26浏览次数:37  
标签:xpath 右击 hover 鼠标 self selenium 键盘 click

鼠标的操作

click() 左击
context_click() 右击
double_click() 双击
move_to_element() 移动鼠标到元素中间(悬停)
click_and_hold() 在元素上按下鼠标左键
release() 释放鼠标

perform() 执行ActionChains中存储的动作

 

 

在Selenium中,要执行一些复杂的鼠标和键盘操作,如右击、双击、悬停(hover)以及拖拽等,通常需要使用ActionChains对象。

这是因为这些操作往往不是单一的、简单的动作,而是一系列的动作组合。ActionChains提供了一种方式来将这些动作串联起来,并按照特定的顺序执行。

拿右击举例子:

首先创建了一个ActionChains对象,并使用context_click方法将右击操作添加到动作链中。然后,通过调用perform方法来执行动作链中的所有动作。
例子:

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


class perfform():
driver=webdriver.Chrome()
def mouse(self,url,icon_path,hover_xpath,click_xpath):
self.driver.get(url)
self.driver.maximize_window()
time.sleep(2)
right_click=self.driver.find_element(By.XPATH,icon_path)# 定位要右击的元素
Aciton=ActionChains(self.driver) # 创建ActionChains对象
Aciton.context_click(right_click).perform() # 执行右击操作 context_click() 右击
time.sleep(1)
hover=self.driver.find_element(By.XPATH,hover_xpath)
Aciton.move_to_element(hover).perform()#执行鼠标悬停操作 move_to_element() 移动鼠标到元素中间(悬停)
time.sleep(3)
self.driver.find_element(By.XPATH,click_xpath).click() #click() 左击
time.sleep(5)


world=perfform()
url='http://www.huangjinjiage.cn/guoneijinjia.html'
icon_path='//*[@id="box2"]/div[2]/img'
hover_xpath='//*[@id="box2"]/div[2]/img'
click_xpath='/html/body/div[3]/div[2]/div[4]/div[2]/a[1]'
world.mouse(url,icon_path,hover_xpath,click_xpath)

标签:xpath,右击,hover,鼠标,self,selenium,键盘,click
From: https://www.cnblogs.com/cyq0528/p/18092312

相关文章

  • 使用opnecv裁剪鼠标所选范围的图片
    使用opnecv裁剪鼠标所选范围的图片裁剪代码效果根据鼠标选择范围进行裁剪效果代码裁剪opencv实现裁剪很简单,确定左上角和右下角的坐标进行切片即可。代码importcv2#读取图片image=cv2.imread('blue_2.jpg')#定义裁剪区域的左上角和右下角坐标top_left......
  • VMWare17.5.0版本避坑,安装虚拟机后按下键盘和鼠标,界面会卡死
    问题描述在使用VMWare17.5.0版本安装ubuntu22.0.4.4的时候遇到问题。安装完成ubuntu之后,我在虚拟机中点击鼠标左键没有问题,单独按下键盘也没有问题,但是如果按下键盘的同时在按下鼠标左键就会卡住。而且100%稳定复现。具体的卡死按键:ctrl+鼠标左键alt+鼠标左键其实并不是真......
  • 「04」直播系统:点点鼠标,10秒学会直播系统的安装
    「04」直播系统:点点鼠标10秒学会直播系统的安装在这里给你推荐一款软件:OBS全称(OpenBroadcasterSoftware)是一款开源的实时视频录制和直播工具,广泛应用于游戏直播、教育、会议等多个领域。目前是国外软件有中文无广告全免费最好用的直播工具。OBS提供了强大而简单易用的工具......
  • Python学习之selenium爬取英雄联盟网页
    获取英雄联盟网页importtimeimportfake_useragentimportrequestsfromseleniumimportwebdriver#英雄联盟爬虫#selenium#pipinstallselenium#url,request方法来请求英雄联盟网页,但是获取时会存在来不及渲染的情况,即无法显示整个页面url='https://......
  • selenium(3)元素定位
    元素定位:对于对于Web自动化测试来说,就是操作页面上的各种元素,在操作元素之间需要先找到元素,换句话说就是定位元素Selenium常见的定位元素的8种方法:Id,Name,Classname,LinkText,PartialLinkText,CSSSelector,Xpath。fromseleniumimportwebdriverfromselenium.webdriver.common.by......
  • linux 键盘按键键码捕捉测试
    捕捉linux中键盘输入对象的键码情况#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<unistd.h>#include<stdio.h>#include<string.h>#include<stdlib.h>#include<errno.h>#include<linux/input......
  • selenium(2)浏览器操作
    importtimefromseleniumimportwebdriverfromselenium.webdriver.common.byimportBydriver=webdriver.Chrome()driver.get('http://www.huangjinjiage.cn/talk/20211208/13752.html')#打开对应的网站driver.maximize_window()#浏览器最大xpath='/html/body/div[3]/......
  • 【Selenium】隐藏元素的定位和操作
    一、selenium中隐藏元素如何定位?如果单纯的定位的话,隐藏元素和普通不隐藏元素定位没啥区别,用正常定位方法就行了但是吧~~~能定位到并不意味着能操作元素(如click,clear,send_keys)二、隐藏元素如下图有个输入框和一个登录的按钮,本来是显示的 元素的属性隐......
  • selenium (1)浏览器驱动
    要想selenium操纵浏览器,必须下载对应浏览器的驱动,以及正确的安装,这里就不详细说明了。 fromseleniumimportwebdriver#driver=webdriver.Chrome()fromseleniumimportwebdriver用于从selenium这个库中导入webdriver模块。这行代码使得你可以在后续的代码中使用webdriv......
  • 学习selenium
    importrequestsimportbs4fromselenium.webdriver.common.byimportByimportpandasaspddriverPath="C:\ProgramFiles(x86)\Microsoft\Edge\Application\msedgedriver.exe"url='https://so.gushiwen.cn/'url2='gushi/tangsh......