近期做网页自动化用到内容小结

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操作浏览器及截图小结相关推荐

  1. python做图片美化_python图片美化

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 功能性是开发的第一要务每一个 python 图形界面库都有它自有的功能特性和界面 ...

  2. python做图片美化_Python实现简单的照片磨皮(照片智能磨皮) 最新免费版

    Python实现简单的照片磨皮(照片智能磨皮)是一款用python写的最好的照片磨皮软件.需要配置opencv和numpy,使用的时候地址需要加英文的引号,斜杠要用双斜杠,例如"D:\\a. ...

  3. python做图片浏览器_保护隐私,用Python打造自己的照片浏览器

    现代操作系统比如Win10, Mac都自带了很好用的照片浏览器,采用人像识别技术自动识别家庭成员,还有简单的画面增强功能.然而这些功能都是需要连接云端服务器来实现的.虽然说很难说这些大公司会对你的那些 ...

  4. 用python做归结演绎推理_Python中惯用的一些操作总结(未完待续)

    Python中常用的一些操作总结(未完待续) 写在前面的话 其实也没有什么可以写的,或者说完全没有价值.因为你只要动一动手指就可以在Google上找到我要写的这些东西.只是我还不习惯好久没有碰我的bl ...

  5. python提高图片分辨率_python 获取图片分辨率的方法

    python 获取图片分辨率的方法 pil版: from PIL import Image filename = r'E:\data\yangben\0.jpg' img = Image.open(f ...

  6. python相似图片识别_Python+Opencv识别两张相似图片

    Python+Opencv识别两张相似图片 在网上看到python做图像识别的相关文章后,真心感觉python的功能实在太强大,因此将这些文章总结一下,建立一下自己的知识体系. 当然了,图像识别这个话 ...

  7. python做大型网站_Python中的大型Web应用:一个好的架构

    如果你着手使用关系型数据库在Python中编写大型应用程序,这篇长文正好满足你的需求.这里我分享下在一个大型团队中使用SQLAlchemy(Python语言中提供最先进ORM工具的软件)编写超过6个月 ...

  8. python做abaqus后处理_python进行abaqus后处理的二次开发,我想提取odb文件中的nodeSet,结果总提示Keyerror,请各位大神指教。...

    运行: Cmd中运行:abaqus scrip=plot.py 之所以用python因为abaqus的界面是基于python的,用它来进行批处理或者后处理是比较不错的,希望能和大家分享abaqus的更 ...

  9. python显示图片列表_python读取图片任意范围区域

    使用python进行图片处理,现在需要读出图片的任意一块区域,并将其转化为一维数组,方便后续卷积操作的使用. 下面使用两种方法进行处理: convert 函数 from PIL import Imag ...

最新文章

  1. UILabel中的多行文本
  2. java按钮位置_java窗口按钮位置设置
  3. linux 进程间通信 dbus-glib【实例】详解一(附代码)(d-feet工具使用)
  4. VC6.0: fatal error C1010: unexpected end of file while looking for precompiled head
  5. SQL行列转换问题整理
  6. 前端学习(1908)vue之电商管理系统电商系统之渲染修改用户的表单预先验证
  7. NeurIPS 2019论文盘点:谷歌系最多,国内清华第一
  8. 实验5.6 定义包含5个元素的对象数组,每个元素都是Employee类型的对象
  9. Qt将GeoJson文件转为mif文件的示例
  10. SAP JCo BAPI的使用(刘欣) 2009-2-6
  11. 手把手教你如何将图片“嵌入”网页中
  12. BCH又要分叉?这一次社区似乎喜闻乐见
  13. day08---(05)课程大纲-章节和小节列表功能(接口)
  14. 企业信息安全保护模式
  15. Scrapy图片分类异步下载
  16. (一)--使用RSA公钥证书解密
  17. win10周期性卡顿解决
  18. bzoj1202 [HNOI2005]狡猾的商人
  19. SpringCloud-4-OpenFeign
  20. 手动修改设置VMware的IP地址

热门文章

  1. CSDN如何找到自己关注的博客专栏
  2. WORD限制别人只能填写窗体而不能修改文档其他内容?
  3. Python练习:整数加减和
  4. orabbix监控oracle11g,zabbix利用orabbix监控oracle(详细配置图解)
  5. python如何让图片镜像翻转_如何用 Python 增量备份 Roam Research 笔记图片?
  6. css 获取第一个a标签,CSS-伪类获取除第一个之外的其他子元素
  7. java 反射调用set方法_java反射调用set方法时如果让参数做自动类型转换
  8. E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用) E: 无法对目录 /var/lib/apt/lists/ 加锁 问题解决方法
  9. GUI库:PyQt5
  10. 有什么办法可以判断页面是静态还是动态?_你知道seo到底是什么吗?该怎么优化?...