Selenium:浏览器及鼠标、键盘事件

这篇具有很好参考价值的文章主要介绍了Selenium:浏览器及鼠标、键盘事件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、控制浏览器

二、鼠标事件

三、键盘事件


一、控制浏览器

webdriver主要提供操作页面上各种元素的方法,但它也提供操作浏览器的一些方法,例如控制浏览器大小、前进和后退等。

1、控制浏览器窗口大小

1 # 控制浏览器大小
2 from selenium import webdriver
3 driver = webdriver.Chrome("安装工具\python\chromedriver.exe")
4 driver.get("http://www.baidu.com")
5 # 参数数字为像素点
6 print("设置浏览器宽480、高800显示")
7 driver.set_window_size(480,800) 

2、全屏显示

webdriver提供了maximize_window()方法使打开的浏览器全屏显示,其用法与set_window_size()相同。

3、控制浏览器前进、后退

现在的浏览器在浏览网页时都提供了前进和后退功能,webdriver也提供了对应的forward()和back()方法,来模拟前进和后退按钮:

1 # 控制浏览器前进、后退
 2 from selenium import webdriver
 3 driver = webdriver.Chrome("安装工具\python\chromedriver.exe")
 4 # 访问百度首页
 5 first_url='http://www.baidu.com''
 6 print("now access %s "%(first_url))
 7 driver.get(first_url)
 8 # 访问新闻页面
 9 second_url='http://www.news.baidu.com'
10 print("now access % s "%(second_url)")
11 driver.get("second_url")
12 # 后退到百度首页
13 print("back to %s "%(first_url)")
14 driver.back()
15 # 前进到新闻页
16 print("forward to %s "%(second_url)")
17 driver.forward() 

为了看清脚本执行过程,每一步的操作都通过print()打印当前的URL地址,执行结果如下:

now access http://www.baidu.com

now access http://news.baidu.com

back to http://www.baidu.com

froward to http://news.baidu.com

4、模拟浏览器前刷新

一般我们刷新页面都是通过F5或者页面上的刷新按钮,webdriver也提供了刷新方法refresh(),用来模拟页面刷新:

......

# 刷新当前页面

driver.refresh()

......

二、鼠标事件

在webelement接口提供的方法中,可以通过click()来模拟鼠标单击操作,但实际上鼠标交互方式很多,例如:右击、悬停、鼠标拖动等功能;

webdriver提供了ActionChains类,封装了鼠标操作的常用方法:

perform():执行所有的ActionChains中存储的行为

context_click():鼠标右击

double_click():鼠标双击

drag_and_drop():鼠标拖动

move_to_element():鼠标悬停

1、鼠标右击操作

 1 # 鼠标右击操作
 2 from selenium import webdriver
 3 from selenium.webdriver.common.action_chains import ActionChains
 4 driver = webdriver.Chrome("安装工具\python\chromedriver.exe")
 5 driver.get("http://www.baidu.com")
 6 # 定位到要右击的元素
 7 right_click = driver.find_element_by_id("KW")
 8 # 对定位到的元素执行鼠标右击操作
 9 ActionChains(driver).context_click(right_click).perform()
 10 ...

2、鼠标悬停

鼠标悬停弹出下拉菜单也是一个十分常见的功能设计,move_to_element()方法可以模拟鼠标悬停动作,其用法与context_click()相同;

1 # 鼠标悬停
2 ...
3 above = driver.find_element_by_id("id")
4 ActionChains(driver).move_to_element(above).perform()
5 ... 

3、鼠标双击操作

double_click()方法用于模拟鼠标双击操作;

1 # 鼠标双击操作
2 ...
3 double_click = driver.find_element_by_id("id")
4 ActionChains(driver).double_click(double_click).perform()
5 ...

4、鼠标拖放操作

drag_and_drop(source,target)在源元素上按住鼠标左键,然后移动到目标元素上释放;

source:鼠标拖动的源元素

target:鼠标释放的目标元素

1 # 定位元素的位置
2 ...
3 element = driver.find_element_by_id("id")
4 # 定位元素要移动到的目标位置
5 target = driver.find_element_by_id("xx")
6 # 执行元素的拖放操作
7 ActionChains(driver).drag_and_drop(element,target).perform()
8 ... 

三、键盘事件

Keys()类提供了键盘上几乎所有的按键方法,send_keys()不见可以模拟键盘输入,还可以用来输入键盘上的按键,甚至是组合键,例子如下:

1 # 模拟键盘事件
2 from selenium import webdriver
3 # 引入keys模块
4 from selenium.webdriver.common.keys import Keys
5 driver = webdriver.Chrome("安装工具\python\chromedriver.exe")
6 driver.get("http://www.baidu.com")
7 # 输入框输入内容
8 driver.find_element_by_id("kw").send_keys("selenium")
9 # 输入“教程”
10 driver.find_element_by_id("kw").send_keys("教程")
11 # 删除“教程”
12 driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)
13 ...

以下为常用的键盘操作:

 1 # 常用的键盘操作
 2 send_keys(Keys.BACK_SPACE)
 3 send_keys(Keys.SPACE)
 4 send_keys(Keys.TAB)
 5 send_keys(Keys.ESCAPE)
 6 send_keys(Keys.ENTER)
 7 send_keys(Keys.CONTROL,'a')
 8 send_keys(Keys.CONTROL,'c')
 9 send_keys(Keys.CONTROL,'v')
10 send_keys(Keys.CONTROL,'x')
11 send_keys(Keys.F1)
12 ...
13 send_keys(Keys.F12) 

以上为webdriver的控制浏览器操作以及模拟键盘、鼠标操作的常用方法,当然具体在实际使用过程中,还需要结合实际的业务场景,灵活运用!

加油吧,测试人!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。未来的你肯定会感谢现在拼命的自己!

Selenium:浏览器及鼠标、键盘事件

 文章来源地址https://www.toymoban.com/news/detail-433545.html

到了这里,关于Selenium:浏览器及鼠标、键盘事件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Chrome浏览器 键盘快捷键整理

    名人说:莫听穿林打叶声,何妨吟啸且徐行。—— 苏轼《定风波·莫听穿林打叶声》 本篇笔记整理:Code_流苏(CSDN) (一个喜欢古诗词和编程的Coder😊) 浏览器快捷键 是指按键或按键组合,可以提供另一种方式来执行通常使用鼠标执行的操作。例如,你可以使用快捷键来打开

    2024年02月05日
    浏览(51)
  • 在?聊聊浏览器事件循环机制

    目录 前言  同步/异步编程模型 同步 异步 JS异步模型 调用栈 任务队列 宏任务队列 微任务队列 微任务API 事件循环 队列优先级 混合队列 事件循环实现 总结 参考文章 Event-Loop可视化工具 JS是单线程语言,在某个时间段只能执行一段代码。这种单线程模型的好处是不会出现多

    2024年02月10日
    浏览(65)
  • selenium 驱动 Edge浏览器,解决selenium打开Edge浏览器闪退问题

    1、在设置中查看浏览器的版本号 2、在官网中进行对应下载 Microsoft Edge WebDriver - Microsoft Edge Developer 1、打开设置界面 右击【此电脑】---选择【属性】----选择【高级系统设置】-----点击【环境变量】 2、变量设置 在【系统变量】选项中,选择【Path】----》点击新建 将Edge浏览器

    2024年02月05日
    浏览(80)
  • 使用Selenium需要浏览器驱动与浏览器版本统一

    安装浏览器驱动 针对不同的浏览器,需要安装不同的驱动。 这里以安装 Chrome 驱动作为演示。 确定浏览器版本 进入设置界面,然后选择 【关于 Chrome】 查看自己的版本信息。这里我的版本是114,下载对应版本的 Chrome 驱动即可。 下载驱动 打开Chrome驱动。单击对应的版本。(

    2024年02月08日
    浏览(53)
  • 浏览器事件循环Event Loop

    引言: 事件循环不是浏览器独有的,从字面上看,“循环”可以简单地认为就是重复,比如for循环,就是重复地执行for循环体中的语句,所以事件循环,可以理解为重复地处理事件,那么下一个问题是,处理的是什么事件,事件的相关信息从哪里获取。 因为我没有用nodejs做

    2024年02月05日
    浏览(55)
  • 【Selenium】浏览器配置

    通过selenium启动浏览器是,会发现是启动的一个新的浏览器,我们的一些登录信息,浏览器配置都会清楚,通过执行比较不方便,那么这一篇就简单介绍下如何配置Chrome浏览器的配置。 配置浏览器信息 在配置之前,首先查看下浏览器的信息,这样方便下一步进行配置,最主要

    2024年02月12日
    浏览(45)
  • selenium无头浏览器

    无头浏览器,也是通过selenium操作浏览器,但是浏览器不弹出来的意思 需要用到这个:

    2024年02月11日
    浏览(61)
  • selenium 浏览器托管

    selenium 浏览器托管,是启动一个浏览器,调试代码,可以运行当前调试代码,不用从启动浏览器开始从头执行 在谷歌浏览器chrome.exe 目录中打开cmd 输入下面目录,启动器浏览器 –remote-debugging-port=9222 指定连接浏览器的端口 –user-data-dir=\\\"C:selenumAutomationProfile,指定保存浏览器

    2024年02月16日
    浏览(37)
  • selenium 浏览器(1)

    概述 Selenium支持市场上所有主要浏览器,如Chrome、Firefox、Internet Explorer、Edge、Opera和Safari。WebDriver尽量使用浏览器内置的自动化支持来驱动浏览器。 selenium对浏览器的操作主要包括打开关闭浏览器,获取浏览器的信息(比如标题、网址等),定位网页中的元素,远程操控浏览

    2024年02月05日
    浏览(39)
  • selenium-webdriver调用谷歌浏览器和火狐浏览器

    nodejs selenium-webdriver 操作文档 https://www.npmjs.com/package/selenium-webdriver 1.调用谷歌浏览器 2.调用火狐浏览器 下面设置了一些选项 ​ 需要设置环境变量,在CMD中firefox可以打开浏览器 否则报错 Expected browser binary location, but unable to find binary in default location, no \\\'moz:firefoxOpti  

    2024年02月02日
    浏览(80)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包