1. chrome webdriver下载地址:http://chromedriver.storage.googleapis.com/index.html
    注意和国产浏览器的内核版本对应(星愿浏览器80.0.3987.163内核可以使用80.0.3987.106的webdriver)
    只要浏览器的内核版本不低于webdriver的版本即可。Nuget上的最低版本是71的,所以QQ浏览器无法使用C#控制,QQ只有版本70的内核。
  2. 如果要先开浏览器再用selenium控制的话,需要给浏览器添加启动参数:
twinkstar.exe --remote-debugging-port=9222
  1. python调用现有星愿浏览器的初始化
from selenium import webdriver
options = webdriver.ChromeOptions()
options.debugger_address = "127.0.0.1:9222"
driver = webdriver.Chrome(options=options)
  1. 使用devtools内建的截图功能!(内核59开始支持,详见https://developers.google.com/web/updates/2017/04/devtools-release-notes)
import base64
res = driver.execute_cdp_cmd('Page.captureScreenshot', {})with open('hao123.png', 'wb') as f:img = base64.b64decode(res['data'])f.write(img)
  1. Flash缩放的JS原生方法是Zoom(percentage),其中percentage是放大倍率的倒数乘以100,例如放大4倍就是1/4*100=25。
  2. Flash缩放之后,移动视野的JS原生方法是Pan(x_position,y_position,mode)
    x_position参数是移动横坐标数,可以给负值
    y_position参数是移动纵坐标数,可以给负值
    mode参数暂时不清楚,先填1 表示表示坐标的单位,但其值为"0"时,以象数为单位,为"1"时,以百分比为单位。
  3. 控制整个Flash的透明度的JS原生方法
    TSetProperty("_root",6,50)
    其中最后一个参数是不透明度从0~100,0是不显示,100是完全不透明。
  4. 设置模拟设备的CDP命令是
'Emulation.setDeviceMetricsOverride', {mobile: true,width: 412,height: 732,deviceScaleFactor: 2.625,
}
  1. python selenium指定截取区域的命令是
clip = driver.execute_script('return {x: 0, y: 0, width: 4320, height: 7680, scale: 1};', '') # 模拟的是竖屏
res = driver.execute_cdp_cmd('Page.captureScreenshot', {'clip': clip})
  1. 综上,python需要执行的操作有(截小花仙页游选人界面的高清图(正中间那个))
from selenium import webdriver
import base64# 接入既有的浏览器进程
options = webdriver.ChromeOptions()
options.debugger_address = "127.0.0.1:9222"
driver = webdriver.Chrome(options=options)# 直接开启设备模拟,不要再手动开devtools了,否则截图截的是devtools的界面!
driver.execute_cdp_cmd('Emulation.setDeviceMetricsOverride', {'mobile':False, 'width':4320, 'height':7680, 'deviceScaleFactor': 1})
# 缩放Flash
driver.execute_script('document.getElementsByTagName("embed")[0].Zoom(100)')
driver.execute_script('document.getElementsByTagName("embed")[0].Zoom(25)')
# Flash缩放后的视野位置微调,还需要完善
driver.execute_script('document.getElementsByTagName("embed")[0].Pan(0,-300,0)')
# 执行截图
res = driver.execute_cdp_cmd('Page.captureScreenshot', { 'fromSurface': True})
# 返回的base64内容写入PNG文件
with open('hao123.png', 'wb') as f:img = base64.b64decode(res['data'])f.write(img)# 关闭设备模拟
driver.execute_cdp_cmd('Emulation.clearDeviceMetricsOverride', {})
# Flash缩放复原
driver.execute_script('document.getElementsByTagName("embed")[0].Zoom(500)')

python selenium chrome 控制devtools 一些线索相关推荐

  1. Python + Selenium + Chrome Driver 自动化点击+评论+刷弹幕(仅供学习)

    Python + Selenium + Chrome Driver 自动化点击 评论 刷弹幕 首先说明,这篇博文仅供学习!仅供学习!仅供学习! 不要拿去做其他事,封号概不负责!!! 突发奇想 首先先说 ...

  2. Python + Selenium + Chrome 使用代理 auth 的用户名密码授权

    2019独角兽企业重金招聘Python工程师标准>>> 米扑代理,全球领导的代理品牌,专注代理行业近十年,提供开放.私密.独享代理,并可免费试用 米扑代理官网:https://pro ...

  3. Python selenium chrome 环境配置

    Python selenium chrome 环境配置一.参考文章:1. 记录一下python easy_install和pip安装地址和方法http://heipark.iteye.com/blog ...

  4. python+selenium+chrome实现淘宝购物车秒杀自动结算

    python+selenium+chrome实现淘宝购物车秒杀自动结算 一.所需环境 二.安装 三.代码 最后run()一把就ok了!! 之前总是想要买aj,但是淘宝店铺每次发售手动抢的时候一般都会被 ...

  5. 12306 抢票 python + selenium + chrome (二) 基础准备的软件和材料

    我使用的 vmware 14 + ubuntu 16  +  PyCharm  开发环境 12306抢票 python+selenium+chrome 实现一 12306抢票 python+selen ...

  6. python + selenium +chrome爬取qq空间好友说说并存入mongodb数据库

    python + selenium +chrome爬取qq空间好友说说并存入mongodb数据库 准备阶段 在正式开始在前需要先准备好做爬虫的工具,本例使用chrome无头浏览器进行爬取工作,也可使用 ...

  7. Python - Selenium Chrome 模拟手机

    Python - Selenium Chrome 模拟手机 Max.Bai 2017-04 Chrome浏览器支持移动端调试,当然ChromeDriver也支持移动端测试了. 使用python调用We ...

  8. Linux服务器上搭建Python+Selenium+Chrome的运行环境(静默模式、无图形)

    本文是<统计CSDN博客的访问量>的部署篇,为了持续统计CSDN的访问量.并进行分析,因此需要在Linux上搭建Selenium + Chrome driver的运行环境 安装Seleni ...

  9. python+selenium+chrome 做滑动验证码 会被浏览器检测到使用的自动软件导致滑动验证失败

    python+selenium+chrome 做滑动验证码 会被浏览器检测到使用的自动软件导致滑动验证失败 解决方法:代码中添加: import time from selenium import w ...

最新文章

  1. python使用kafka原理详解真实完整版_转:Kafka史上最详细原理总结 ----看完绝对不后悔...
  2. CentOS 7 使用iptables 开放端口
  3. java定焦点_Android 开发 Camera1_如何使用对焦功能
  4. 利用 VMware vRealize - 构建和优化云管理
  5. 微软BUG Bounty悬赏项目扩展至.NET Core和ASP.NET Core
  6. CodeForces - 869B The Eternal Immortality
  7. linux系统 设置网卡ping通主机连上外网
  8. java怎么改运行图标,java修改进程图标
  9. linux ora -03113,ORA-03113:通信通道的文件结尾
  10. MATLAB的semilogy函数的理解
  11. 编写LLVM Pass模块知识点梳理
  12. WPF学习之绘图和动画
  13. 谷歌推出逐字搜索Verbatim
  14. python0基础自学英语_0基础怎么自学python,大概要多久?
  15. 视频画中画制作,一款简单好上手的软件
  16. str.substring(0,str.length() -1)用法
  17. 图像语义分割入门:FCN/U-Net网络解析
  18. java获取word图片_java代码获取word文件中的图片
  19. mysql优化--博森瑞
  20. 有源电力滤波器并联三相apf matlab simulink仿真 谐波检测谐波补偿

热门文章

  1. AntdPro之ProFormDependency
  2. 长度短点的uuid_如何减少使用randomUUID()生成的UUID的长度
  3. ACM省赛海岛争霸(Dijkstra和DFS两种方法)
  4. elm分类器功能_基于ELM的图像分类算法研究
  5. 苹果iOS 5系统新功能全揭秘
  6. 关于C++中string头文件的用法
  7. 数据结构实验--停车场管理
  8. 彻底解决魅族手机无法彻底卸载应用的bug
  9. 分布式系统的知识点-理论基础
  10. 记一次服务器清除挖矿木马操作记录