前言

  • 版本:

    • python:3.9
    • selenium:4.1.5
  • 浏览器:firefox

创建浏览器对象

from selenium import webdriver

driver = webdriver.Firefox(executable_path=r"C:\software\selenium\geckodriver.exe")

打开网页

# 打开在线网页
driver.get("https://www.baidu.com")
# 打开离线网页
driver.get('file:///C:/File/index.html')

退出浏览器

# 关闭当前由selenium打开的浏览器窗口
driver.close()
# 关闭所有由selenium打开的浏览器窗口
driver.quit()

设置窗口大小

# 窗口最大化
driver.maximize_window() # 网页全屏
driver.fullscreen_window() # 指定大小
driver.set_window_size(500,400)

设置窗口位置

# 指定横纵坐标
driver.set_window_position(x=500,y=400)
# 同时指定坐标和大小
driver.set_window_rect(x=30,y=30,width=450,height=450)

获取窗口位置和大小

# 获取窗口位置
window_pos = driver.get_window_position()
# 获取窗口大小
window_size = driver.get_window_size()

浏览器导航

  • 返回到前一个页面
driver.back()
  • 前进到下一个页面(如果没有返回,就没有前进)
driver.forward()
  • 刷新
driver.refresh()

鼠标操作

  • 假设惯用手是右手,单击指左键单击
# 左键单击
elem = driver.find_element(...).click() # 左键单击并按住
button = driver.find_element(...)
webdriver.ActionChains(driver).click_and_hold(button).perform() # 右键单击
webdriver.ActionChains(driver).context_click(button).perform() # 左键双击
webdriver.ActionChains(driver).double_click(on_element=button).perform() # 移动光标但不点击
from selenium.webdriver.common.action_chains import ActionChains
ActionChains(driver).move_to_element(button).perform() # 拖拽
src_elem = find_element(...)
des_elem = find_element(...)
ActionChains(driver).drag_and_drop(src_elem,des_elem).perform() # 松开点击。点按 -> 拖拽 -> 松开
ActionChains(driver)\
.click_and_hold(src_elem)\
.move_to_element(des_elem)\
.perform()\
.release()\
.perform()

键盘操作

# 上、下、输入
from selenium.webdriver.common.keys import Keys
ActionChains(driver)\
.key_down(Keys.CONTROL)\
.send_keys("qwer")\
.key_up(Keys.CONTROL)\
.key_down(Keys.CONTROL)\
.send_keys("asdf")\
.key_up(Keys.CONTROL)\
.perform()

[selenium]浏览器基本操作的更多相关文章

  1. Selenium浏览器自动化测试工具

    目录 Selenium浏览器自动化测试工具 Selenium模块在爬虫中的使用 Python简单使用Selenium Selenium的基本操作 Selenium爬取动态加载的数据 Selenium动 ...

  2. 跟浩哥学自动化测试Selenium -- 浏览器的基本操作与元素定位(3)

    浏览器的基本操作与元素定位 通过上一章学习,我们已经学会了如何设置驱动路径,如何创建浏览器对象,如何打开一个网站,接下来我们要进行一些复杂的操作比如先打开百度首页,在打开博客园,网页后退,前进等等,甚 ...

  3. selenium自动化测试-浏览器基本操作

    webdriver 通过协议和接口发现DOM中的元素,并实现控制浏览器的行为,例如打开浏览器.控制浏览器大小. 浏览器刷新及浏览器前进.后退等,接下来介绍浏览器的一些基本操作. 1.启动浏览器 dri ...

  4. selenium浏览器自动化测试框架文档(修正版)

    写在最前面:目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出不穷,但是,能够在项目中持之以恒的实践自动化测试的团队,却依旧不是非常多.有的团队知道怎么做,做的还不够好:有的团队还 ...

  5. python+selenium浏览器调用(chrome、ie、firefox)

    代码: #coding=utf-8 from selenium import webdriver driver=webdriver.Chrome() #调用chrome浏览器 driver.get(' ...

  6. 自动化测试基础篇--Selenium浏览器操作

    摘自https://www.cnblogs.com/sanzangTst/p/7462056.html  学习 Selenium 主要提供的是操作页面上各种元素的方法,但它也提供了操作浏览器本身的方法 ...

  7. 手写一个selenium浏览器池

    维护一组浏览器,实现每分钟1000次查询.DriverPool使用变幻版只初始化一次的单例模式.维护每个浏览器的当前是否使用的状态. 不需要等待请求来了,临时开浏览器,开一个浏览器会耽误6秒钟. 可以 ...

  8. Java Selenium - 浏览器操作

    浏览器主要操作方法来自接口 org.openqa.selenium.WebDriver , 实现于org.openqa.selenium.remote.RemoteWebDriver这个类,然后不同浏 ...

  9. selenium 浏览器常用设置和部署

    一,chrome浏览器设置 from selenium import webdriver # 浏览器选项 chrome_options = webdriver.ChromeOptions() # 使用 ...

  10. selenium浏览器驱动下载地址整理

    今天把手头有的一些关于selenium测试的资源整理了一下,分享出来. 1. 所有版本chrome下载 是不是很难找到老版本的chrome?博主收集了几个下载chrome老版本的网站,其中哪个下载的是 ...

随机推荐

  1. 2015年5月最新win7纯净版系统(32位)补丁最新

    下载地址: http://yunpan.cn/cVN9e679hZ2Pe   访问密码 203a 一.系统安装工具 √ 自由天空最新万能驱动 √ 一键GHOST备份还原系统 √ 硬盘安装系统安装器,增 ...

  2. Nginx Web快速入门

    Nginx Web快速入门 目录 Nginx Web快速入门 Nginx概述 为什么选择Nginx服务 Nginx的应用场景 源码安装nginx Yum安装nginx Nginx相关命令总结 Ngin ...

  3. Sql Server维护计划事务日志找不到目标数据库

    1.发现事务日志备份突然停止了 2.查看维护计划中的事务日志设置 3.发现备份任务中,事务日志需要指向的数据库不在 4.进入数据库属性 5.在选项中将恢复模式改为"完整"

  4. ToolStrip1

    Private Sub ToolStrip1_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs) Handles Too ...

  5. flutter填坑之旅(flutter页面生命周期篇)

    一.初始化时期 1.createState ///构建一个StatefulWidget时,会立即调用该方法(必须重写) @override _WidgetLifecycleState createSt ...

  6. 代码随想录算法训练营Day31 贪心算法| 122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II

    代码随想录算法训练营 122.买卖股票的最佳时机II 题目链接:122.买卖股票的最佳时机II 给定一个数组,它的第 i个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润. ...

  7. SQL基础知识扫盲

    @ 目录 SQL & 数据库基础知识扫盲 SQL是什么? 数据库是什么? 挺身入局,实践出真知 DBMS初体验 MySQL:初体验 Oracle:初体验 PostgreSQL:初体验 Demo ...

  8. wireshark分析tcp传输之文件上传速率问题

    在网络性能问题排查思路那一节里,我提到了查看系统网络瓶颈的方法以及排查丢包问题的手段. 但就此分析网络问题还不够精细,有时网络资源并没有达到瓶颈,或者并没有丢包产生,但是网络传输速率就是很慢,或者有丢 ...

  9. SpringBoot进阶教程(七十六)多维度排序查询

    在项目中经常能遇到,需要对某些数据集合进行多维度排序的需求.对于集合多条件排序解决方案也有很多,今天我们就介绍一种,思路大致是设置一个分值的集合,这个分值是按照需求来设定大小的,再根据分值的大小对集合 ...

  10. 自然语言处理 Paddle NLP - 基于预训练模型完成实体关系抽取

    自然语言处理 Paddle NLP - 信息抽取技术及应用 重点:SOP 图.BCEWithLogitsLoss 基于预训练模型完成实体关系抽取 信息抽取旨在从非结构化自然语言文本中提取结构化知识,如 ...