python自动化之控制浏览器
python自动化webdriver相关操作
一、控制浏览器相关操作
1、控制浏览器窗口大小
- 全屏显示maximize_window()
from selenium import webdriverdriver = webdriver.Chrome()
driver.implicitly_wait(3)
#全屏显示
driver.maximize_window()
- 指定浏览器大小set_window_size(w, h)
#指定浏览器大小
driver.set_window_size(600,400)
2、控制浏览器前进forward()和后退back()
#前进
driver.forward()
#后退
driver.back()
3、刷新refresh()
#刷新页面
driver.refresh()
4、窗口截屏
img_dir = "C:\\测试\\img.png"
driver.save_screenshot(img_dir)
二、webdriver常用方法
序号 | 方法 | 描述 |
---|---|---|
1 | clear() | 清除 |
2 | send_keys(“value”) | 输入内容 |
3 | click() | 点击事件 |
4 | submit() | 提交 |
5 | size | 元素尺寸 |
6 | text | 元素文本 |
7 | get_attribute() | 获取属性 |
8 | is_displayed() | 查看该元素是否用户可见 |
三、鼠标操作
序号 | 方法 | 描述 |
---|---|---|
1 | click() | 鼠标点击事件 |
2 | move_to_element() | 鼠标悬停效果 |
3 | context_click() | 鼠标右击事件 |
4 | double_click() | 鼠标双击事件 |
5 | drag_and_drop() | 鼠标拖动事件 |
1、单击事件
from selenium import webdriver
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import Bydriver = webdriver.Chrome()
driver.implicitly_wait(3)
driver.get("https://www.baidu.com")
driver.find_element(By.ID,"kw").send_keys("单击事件")
element = driver.find_element(By.CSS_SELECTOR,'#su')
ActionChains(driver).click(element).perform()
2、鼠标悬停
#鼠标悬停
ActionChains(driver).move_to_element(element).perform()
3、鼠标右击事件
#鼠标右击击事件
ActionChains(driver).context_click(element).perform()
4、鼠标双击事件
#鼠标双击事件
ActionChains(driver).double_click(element).perform()
5、鼠标拖动事件
#鼠标拖动事件
tag = driver.find_element(By.CSS_SELECTOR,"#div1")
ActionChains(driver).drag_and_drop(element,tag).perform()
四、键盘相关操作
序号 | 方法 | 描述 |
---|---|---|
1 | send_keys(Keys.BACK_SPACE) | 删除键(BackSpace) |
2 | send_keys(Keys.SPACE) | 空格键(Space) |
3 | send_keys(Keys.TAB) | Tab 键 |
4 | send_keys(Keys.ESCAPE) | ESC 键 |
5 | send_keys(Keys.ENTER) | Enter 回车键 |
6 | send_keys(Keys.CONTROL,“a”) | Ctrl+a | Ctrl+c | Ctrl+x | Ctrl+v |
7 | send_keys(Keys.F1) | F1~F12 |
以Enter回车键为例演示
from selenium import webdriver
from selenium.webdriver.common.by import By
# 引入Keys模块
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
#键盘按键操作
element=driver.find_element(By.ID,"kw")
element.send_keys("Enter回车事件")
element.send_keys(Keys.ENTER)
五、显示等待和隐式等待
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWaitdriver = webdriver.Chrome()
#隐式等待
driver.implicitly_wait(3)
driver.get("https://www.baidu.com")
#显示等待
WebDriverWait(driver,5,1).until(expected_conditions.visibility_of_element_located(By.ID,"kw"))
python自动化之控制浏览器相关推荐
- Selenium2+python自动化5-操作浏览器基本方法
前言 前面已经把环境搭建好了,这从这篇开始,正式学习selenium的webdriver框架.我们平常说的 selenium自动化,其实它并不是类似于QTP之类的有GUI界面的可视化工具,我们要学的是 ...
- Selenium3+python自动化008-操作浏览器基本方法
一.打开网站 1.第一步:从selenium里面导入webdriver模块 2.打开Firefox浏览器(Ie和Chrome对应下面的) 3.打开百度网址 二.页面刷新 1.有时候页面操作后,数据可能 ...
- python 浏览器自动化 弹窗控制_selenium 网页自动化 - 在访问一个网页时弹出的浏览器窗口,我该如何处理?...
特别鸣谢 本文来自柠檬班-python 自动化第 25 期 铃铛同学 在做作业时遇到的问题,并提供的解决方案! 特别感谢铃铛同学.如果你是柠檬班的学生,热烈欢迎你来投稿技术文章哦! 前言 相信大家在使 ...
- python自动化操作浏览器
python的语法精炼简洁,并且很方便集成自动化工具selenium,因此特别适合各个行业的工作人员学习和编写简单程序来实现"机器人助理"帮我们处理频繁重复的网站操作. 废话不多说 ...
- 云计算开发教程:Python自动化运维开发实战流程控制
今天这篇文章是给大家分享一些云计算开发教程,今天讲解的是:Python自动化运维开发实战流程控制. Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. P ...
- python自动化控制运动_Python +selenium自动化帮你预订运动场地
导语 炎热的夏天,正是换上短裤短裙晒身材的时候.但是,身材不好怎么办?运动是一个选择,特别是像我们程序员行业,天天坐在空调办公室,更应该出出汗,正所谓:冬练三九,夏练三伏. 下班后,约上公司的妹子,打 ...
- python自动化控制_python用于自动化控制编程
Python自动化是做什么的 软件测试里面有Python自动化测试这个课程吗? 在人工智能+大数据的飞速发展的大环境下,Python开发语言日渐火爆,Python自动化测试也将逐渐取代传统的软件测试, ...
- python自动化模拟浏览器
采用python自动化模拟浏览器操作 # -*- coding: utf-8 -*-""" 通过splinter刷12306火车票 可以自动填充账号密码并登陆,接下来的事 ...
- python控制手机模拟器_Appium+python自动化之连接模拟器并启动淘宝APP(超详解)...
简介 上一篇讲解完模拟器的安装.配置好以后,就好比我们手机已经买好,并且系统已经做好了,就差我们用数据线和电脑连接开始实战了,这篇宏哥就带着小伙伴们和童鞋们趁热打铁,讲解和分享一下如何连接模拟器(电脑 ...
- 用python做自动化控制-用 Python 自动化办公能做到哪些有趣或有用的事情?
首先,我是一名数据分析师-- But,我还有一项短信资源管理的工作,从收集各部门需求开始,到检查文案策略等,最后在系统上创建,整个流程每天都要重复进行3-4个小时,工作特别繁琐而缺乏技术性,不过这个工 ...
最新文章
- Galaxy v-21.01 发布,新的流程和历史栏体验
- 一个同步github上fork过来的项目的批处理脚本
- Android -- isInEditMode
- 设计模式--适配器(Adapter)模式
- win7降低屏幕亮度_深度解析:Redmi K20 Pro 第七代屏幕指纹技术
- matlab 滤掉高斯噪声吗,我想问一下:怎么用matlab编写函数对图像进行高斯滤波以去除噪声...
- 深入探讨用位掩码代替分支(8):SSE指令集速度测试
- java 素数欧拉筛选_[C++]欧拉素数筛的理解与实现
- 开源软件那么多,我们该如何选择?|洞见
- 实验五 burpsuite重放攻击实验
- select选择框在谷歌火狐和IE样式的不同
- 17. 促销,市场营销和内容页
- Linux 下常用软件包安装
- Centos7安装uwsgi出现关于SSL错误的问题
- python豆瓣电影爬虫
- Flume 入门教程(超详细)
- 白色恋人--18首扣人心弦的经典情歌
- 一周 Go World 新鲜事-2019W11
- MMD初尝试1(骨骼系统)
- python爬虫开发数据库设计_基于Python的DBLP数据库爬虫系统
热门文章
- Google浏览器设置不自动更新:关闭谷歌浏览器自动更新方法(总是自动更新提示失败)
- 街头篮球服务器未响应,肝的飞起 《街头篮球》魔王试炼FAQ
- Rhino6.5软件安装包详细安装教程
- CAD-Cass小结(5)————WIN10安装并运行CAD2006及Cass7.0
- 分享一个返利系统源码,前端uni+后端php开发的影票返利系统源码
- 2018年的生活及工作计划
- mindmanager2021思维导图许可密钥V21.0.334最新版免费安装下载
- 解决Veil—Evasion安装中git clone导致失败的问题
- 图灵测试其实已经过时了
- 共模干扰和差模干扰的处理方式