首页 > 其他分享 >web自动化(三)鼠标操作&键盘

web自动化(三)鼠标操作&键盘

时间:2024-07-05 22:26:16浏览次数:12  
标签:web 鼠标 el driver 键盘 sleep time import page

selenuim 键盘操作

import time

from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as  EC
from selenium.webdriver.support.wait import WebDriverWait
from selenium import  webdriver

web_driver=webdriver.Firefox()
web_driver.get("https://baidu.com")

el=(By.ID,"kw")
WebDriverWait(web_driver,10,2).until(EC.presence_of_element_located(el))
el_se=web_driver.find_element(*el)
el_se.send_keys("selenium")
time.sleep(5)

el_se.send_keys(Keys.CONTROL,"a")
time.sleep(5)
el_se.send_keys(Keys.CONTROL,"c")
time.sleep(5)
el_se.clear()
time.sleep(5)
el_se.send_keys(Keys.CONTROL,"v")
time.sleep(5)

web_driver.quit()

drissionpage 键盘操作

问题 page.actions.key_down(DrissionKeys.CTRL_A) 报错 AttributeError: ‘tuple’ object has no attribute ‘upper’

在这里插入图片描述
未找到解决方案

from DrissionPage import  WebPage
from DrissionPage.common import By as DrissionBy
from DrissionPage.common import Keys as DrissionKeys

page=WebPage("d")

page.get("https://baidu.com")
el=(DrissionBy.ID,"kw")
page.wait.eles_loaded(el,timeout=5)
el_se=page.ele(el)
el_se.input("drissionpage")


page.actions.key_down(DrissionKeys.CTRL_A)
time.sleep(5)
page.actions.key_down(DrissionKeys.CTRL_C)
time.sleep(5)
el_se.clear()
time.sleep(5)
page.actions.key_down(DrissionKeys.CTRL_V)

time.sleep(5)

page.quit()

selenuim 鼠标

import time

from selenium import  webdriver
from  selenium.webdriver import ActionChains
from selenium.webdriver.common.by import  By
driver=webdriver.Firefox()
driver.get("https://baidu.com")


time.sleep(5)
el=(By.ID,"s-usersetting-top")

el_se1=driver.find_element(*el)
#不管执行什么操作最后都需要perform
ActionChains(driver).move_to_element(el_se1).perform()
time.sleep(5)

el=(By.LINK_TEXT,"高级搜索")
el_se2=driver.find_element(*el)

el_se2.click()

time.sleep(5)

driver.quit()

drissionpage 鼠标

from DrissionPage import  WebPage
from DrissionPage.common import By as DrissionBy
page=WebPage("d")
page.get("https://baidu.com")

el=(DrissionBy.ID,"s-usersetting-top")
el_se=page.ele(el)
page.actions.move_to(el_se)
time.sleep(5)
# el=(DrissionBy.LINK_TEXT,"高级搜索")
#<a href="//www.baidu.com/gaoji/advanced.html" target="_blank"><span class="set">高级搜索</span></a>
#这种的无法使用(DrissionBy.LINK_TEXT,"高级搜索") 去匹配
el=(DrissionBy.XPATH,'//*[@id="s-user-setting-menu"]/div/a[2]')
el_se2=page.ele(el)
# el_se2.click()
page.actions.click(el_se2)
time.sleep(5)

page.quit()

标签:web,鼠标,el,driver,键盘,sleep,time,import,page
From: https://blog.csdn.net/will_net/article/details/140163432

相关文章

  • Web学习day01
    MySQL基础目录MySQL基础文章目录一、数据库介绍1.1概述1.2SQL分类二、SQL基础操作2.1连接数据库2.2操作数据库2.3操作数据表2.4数据增删改2.5数据查询2.5.1简单查询2.5.2条件查询2.5.3聚合函数2.5.4分组2.5.5排序2.5.6分页总结一、数据库介绍1.1概......
  • 矩阵键盘与密码锁
    目录1.矩阵键盘介绍​编辑 2.扫描的概念3.代码演示(读取矩阵键盘键码)4.矩阵键盘密码锁1.矩阵键盘介绍为了减少I/O口的占用,通常将按键排列成矩阵形式,采用逐行或逐列的“扫描”,就可以读出任何位置按键的状态 2.扫描的概念1)数码管扫描(输出扫描)原理:显示第1位→显示......
  • Web基础与HTTP协议
    域名和DNS1. 域名的概念网络是基于TCP/IP协议进行通信和连接的,每一台主机都有一个唯一的标识(固定的IP地址),用以区别在网络上成千上万个用户和计算机。网络在区分所有与之相连的网络和主机时,均采用一种唯一、通用的地址格式,即每一个与网络相连接的计算机和服务器都被指派......
  • 一天快速入门Django:从0到1创建属于自己的Web应用
    DjangoWeb开发Day11.Django的安装pipinstalldjango2.创建项目2.1终端创建“python环境路径\scripts\django-admin.exe”startprojectdjango项目名#如果python环境路径配置了环境变量,可直接写django-adminstartprojectdjango项目名2.2pycharm创建2.3项目文......
  • C#使用Blazor编译WebAssembly供前端调用(一),关于SkiaSharp相关问题
    目前信创热潮开始掀起,而C#很多行业开发的都是桌面端,迁移到网页端常常会因为很多库不支持或者不友好导致项目一直卡着。最近一直在网上找灵感,偶然发现WebAssembly,一开始我还没不知道这是什么,后面发现目前主流浏览器都支持这一技术。我们看一下这个WebAssembly简介如下而后我......
  • 01-Web基础与HTTP协议
    目录域名概念域名空间结构域名注册网页概念网站主页域名HTTPURLURNURIHTML超链接发布HTMLHTML的结构静态网页特点动态网页特点WebHTTPHTTP方法GET方法POST方法HTTP状态码生产环境下常见的HTTP状态码域名概念IP地址不易记忆早期使用Hosts文......
  • Ant Design Vue文字溢出鼠标滑上显示tooltip。不溢出,鼠标滑上不显示tooltip,溢出显示to
    <templateslot="testContent"slot-scope="{record}"><a-tooltip@mouseenter="showToolTip"overlayClassName="customtooltip_class"......
  • 基于javaweb二手闲置物品在线交易平台系统作品成品
     博主介绍:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。所有项目都配有从入门到精通的基础知识视频课程,学习后应对毕业设计答辩。项目配有对应开发文档、开题报告、任务书、P......
  • 详解Web应用安全系列(8)不足的日志记录和监控
    在Web安全领域,不足的日志记录和监控是一个重要的安全隐患,它可能导致攻击者能够更隐蔽地进行攻击,同时增加了攻击被检测和响应的难度。以下是对Web攻击中不足的日志记录和监控漏洞的详细介绍。一、日志记录不足的问题日志缺失或不完整关键操作未记录:如用户登录、敏感数据......
  • 2024年最佳鼠标灵敏度转换工具——“Mouse Sensitivity Converter“
    一、引言在现代的竞技游戏中,鼠标灵敏度是每个玩家都无法忽视的重要因素。无论你是FPS射击游戏达人,还是MOBA策略游戏爱好者,你都需要一款合适的鼠标灵敏度来提升你的游戏表现。然而,在不同游戏之间调整灵敏度常常让人头疼。今天我们将为大家介绍一款能够解决这一难题的神器——"Mous......