python做图片浏览器_python操作浏览器及截图小结
近期做网页自动化用到内容小结
1、打开浏览器
1)打开默认配置的浏览器
from selenium import webdriver
driver = webdriver.Firefox()
"""chrome浏览器
driver = webdriver.Chrome()
"""
2)带配置打开浏览器
from selenium import webdriver
profile = webdriver.FirefoxProfile(profile_path) #profile_path为ff配置文件的路径,cmd下进入ff安装目录,执行firefox.exe -p可以进入定制我们需要的配置,比如添加插件、配置不记录历史等
driver = webdriver.Firefox(firefox_profile=profile)
"""chrome浏览器
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--user-data-dir=" + current_chrome_user_data)#current_chrome_user_data为浏览器配置文件的路径
driver = webdriver.Chrome(chrome_options = chrome_options)
"""
3)打开浏览器带插件
options = webdriver.ChromeOptions()
options.add_extension(os.path.join(pwd_path, "AdBlock_v3.22.1.crx"))
options.add_extension(os.path.join(pwd_path, "Adblock-Plus_v1.13.4.crx"))
driver = webdriver.Chrome(chrome_options=options)
说明:这种方式打开浏览器后,插件加载需要一段时间,重新安装的步骤,效率没有带配置打开浏览器的方式快
2、浏览器的其它常用操作
#打开百度页面
driver.get("https://www.baidu.com/")
#刷新页面
driver.refresh()
#返回上一页
driver.back()
#返回下一页
driver.forward()
#设置屏幕尺寸
driver.set_window_size(560, 960, CURRENT)
#最大化窗口
driver.maximize_window()
#退出浏览器,close()是关闭当前访问页面,quit()是退出浏览器,结束进程,且回收临时文件
driver.quit()
备注:浏览器及页面元素常用的函数及变量可参考https://www.cnblogs.com/yufeihlf/p/5764807.html
3、浏览器截图方式
1)selenium库
driver.get_screenshot_as_file(filename)
driver.save_screenshot(filename) 备注:save_screenshot(filename)在ff47版本以下可以截取长图!!!如果不需要测试浏览器兼容性等,可以用PhantomJS代替ff/chrome打开网页进行截图可截取长图
缺点:只能截取当前屏幕,无法截取长图
2)AutoItLibrary库封装的Get Screen Image关键字
AutoItLibrary.Get Screen Image
缺点:只能截取当前屏幕,无法截取长图
3)Selenium2Library库封装的Capture Page Screenshot关键字
Selenium2Library.Capture Page Screenshot
缺点:只能截取当前屏幕,无法截取长图
4)chrome浏览器自带的移动端截取长图方式
按F12打开调试窗,再按Ctrl+Shift+P组合键,输入capture full size screenshot回车即可截图
备注:可通过AutoItLibrary.Send方法往浏览器发送这些按键来实现截图,
缺点:截图过程中鼠标必须停留在浏览器窗口否则截图失败
5)浏览器安装截图插件
chrome/ff下推荐使用full page screen capture插件,可通过前面带配置的方式将插件包含进配置文件中,为插件截图设置快捷键,并且可以设置截图完成后自动保存到本地
打开浏览器后可通过AutoItLibrary.Send方法往浏览器发送截图快捷键进行截图
缺点:截图过程中鼠标必须停留在浏览器窗口否则截图失败
4、浏览器驱动下载
注意:浏览器版本和驱动版本必须对应,才能调用到驱动操作浏览器,具体某个浏览器版本需要哪个版本的插件可以百度一下
以下提供各个版本驱动的下载地址,下载时注意需要的系统版本等
1)chrome:http://npm.taobao.org/mirrors/chromedriver
2)firefox:https://github.com/mozilla/geckodriver/releases/
http://npm.taobao.org/mirrors/geckodriver/
chromedriver驱动安装完成后校验是否安装成功:
1.驱动下载完成,解压
2.将解压后文件chromedriver.exe复制到python的Scripts安装目录下(我的:E:\Python\Python36-32\Scripts),并且添加到path环境变量
3.将目录chrome的安装目录添加到path环境变量。(我的:C:\Program Files (x86)\Google\Chrome\Application\chrome.exe)
4.运行下面代码:成功打开百度即为成功:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
python做图片浏览器_python操作浏览器及截图小结相关推荐
- python做图片美化_python图片美化
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 功能性是开发的第一要务每一个 python 图形界面库都有它自有的功能特性和界面 ...
- python做图片美化_Python实现简单的照片磨皮(照片智能磨皮) 最新免费版
Python实现简单的照片磨皮(照片智能磨皮)是一款用python写的最好的照片磨皮软件.需要配置opencv和numpy,使用的时候地址需要加英文的引号,斜杠要用双斜杠,例如"D:\\a. ...
- python做图片浏览器_保护隐私,用Python打造自己的照片浏览器
现代操作系统比如Win10, Mac都自带了很好用的照片浏览器,采用人像识别技术自动识别家庭成员,还有简单的画面增强功能.然而这些功能都是需要连接云端服务器来实现的.虽然说很难说这些大公司会对你的那些 ...
- 用python做归结演绎推理_Python中惯用的一些操作总结(未完待续)
Python中常用的一些操作总结(未完待续) 写在前面的话 其实也没有什么可以写的,或者说完全没有价值.因为你只要动一动手指就可以在Google上找到我要写的这些东西.只是我还不习惯好久没有碰我的bl ...
- python提高图片分辨率_python 获取图片分辨率的方法
python 获取图片分辨率的方法 pil版: from PIL import Image filename = r'E:\data\yangben\0.jpg' img = Image.open(f ...
- python相似图片识别_Python+Opencv识别两张相似图片
Python+Opencv识别两张相似图片 在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系. 当然了,图像识别这个话 ...
- python做大型网站_Python中的大型Web应用:一个好的架构
如果你着手使用关系型数据库在Python中编写大型应用程序,这篇长文正好满足你的需求.这里我分享下在一个大型团队中使用SQLAlchemy(Python语言中提供最先进ORM工具的软件)编写超过6个月 ...
- python做abaqus后处理_python进行abaqus后处理的二次开发,我想提取odb文件中的nodeSet,结果总提示Keyerror,请各位大神指教。...
运行: Cmd中运行:abaqus scrip=plot.py 之所以用python因为abaqus的界面是基于python的,用它来进行批处理或者后处理是比较不错的,希望能和大家分享abaqus的更 ...
- python显示图片列表_python读取图片任意范围区域
使用python进行图片处理,现在需要读出图片的任意一块区域,并将其转化为一维数组,方便后续卷积操作的使用. 下面使用两种方法进行处理: convert 函数 from PIL import Imag ...
最新文章
- UILabel中的多行文本
- java按钮位置_java窗口按钮位置设置
- linux 进程间通信 dbus-glib【实例】详解一(附代码)(d-feet工具使用)
- VC6.0: fatal error C1010: unexpected end of file while looking for precompiled head
- SQL行列转换问题整理
- 前端学习(1908)vue之电商管理系统电商系统之渲染修改用户的表单预先验证
- NeurIPS 2019论文盘点:谷歌系最多,国内清华第一
- 实验5.6 定义包含5个元素的对象数组,每个元素都是Employee类型的对象
- Qt将GeoJson文件转为mif文件的示例
- SAP JCo BAPI的使用(刘欣) 2009-2-6
- 手把手教你如何将图片“嵌入”网页中
- BCH又要分叉?这一次社区似乎喜闻乐见
- day08---(05)课程大纲-章节和小节列表功能(接口)
- 企业信息安全保护模式
- Scrapy图片分类异步下载
- (一)--使用RSA公钥证书解密
- win10周期性卡顿解决
- bzoj1202 [HNOI2005]狡猾的商人
- SpringCloud-4-OpenFeign
- 手动修改设置VMware的IP地址
热门文章
- CSDN如何找到自己关注的博客专栏
- WORD限制别人只能填写窗体而不能修改文档其他内容?
- Python练习:整数加减和
- orabbix监控oracle11g,zabbix利用orabbix监控oracle(详细配置图解)
- python如何让图片镜像翻转_如何用 Python 增量备份 Roam Research 笔记图片?
- css 获取第一个a标签,CSS-伪类获取除第一个之外的其他子元素
- java 反射调用set方法_java反射调用set方法时如果让参数做自动类型转换
- E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用) E: 无法对目录 /var/lib/apt/lists/ 加锁 问题解决方法
- GUI库:PyQt5
- 有什么办法可以判断页面是静态还是动态?_你知道seo到底是什么吗?该怎么优化?...