我们可以利用Chrome DevTools协议。它允许客户检查和调试Chrome浏览器。

打开cmd,在命令行中输入命令:

chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"

对于-remote-debugging-port值,可以指定任何打开的端口。

对于-user-data-dir标记,指定创建新Chrome配置文件的目录。它是为了确保在单独的配置文件中启动chrome,不会污染你的默认配置文件。

还有,不要忘了在环境变量中PATH里将chrome的路径添加进去。

此时会打开一个浏览器页面,我们输入百度网址,我们把它当成一个已存在的浏览器:

现在,我们需要接管上面的浏览器。新建一个python文件,运行以下代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
chrome_driver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe"
driver = webdriver.Chrome(chrome_driver, chrome_options=chrome_options)
print(driver.title)

会发现打印出了 “百度一下,你就知道” 的网页标题。这样我们就实现了对一个已打开的浏览器的控制。

更多需求可以自己在此基础上进行修改。

ps:

driver.maximize_window()这个方法貌似不能用,报错:operation is unsupported with remote debugging:远程调试不支持操作

转自http://www.cnblogs.com/lovealways/p/9813059.html

转自http://www.teachmeselenium.com/2018/08/11/how-to-connect-selenium-to-an-existing-browser-that-was-opened-manually/

翻译http://www.cnblogs.com/lovealways

最新文章

  1. ABP文档 - 目录
  2. vim 中替换
  3. C# date format 使用C#格式化时间
  4. eclipse中 将java项目转换为web项目
  5. Spring为某个属性注入值或为某个方法的返回值
  6. MongoDB 数据库管理(不定时更新)
  7. UVa11292
  8. (leetcode)Summary Ranges
  9. 转: ffmpeg 的deom列表
  10. ios 一个app启动另一个app
  11. PHP临时文件session的分级存储与定期删除
  12. (3)选择元素——(6)属性选择器(Attribute selectors)
  13. opencv实现连通域
  14. 【C语言探索之旅】 第三部分第一课:SDL开发游戏之安装SDL
  15. Java (PO,VO,DAO,BO,POJO,DTO) 几种对象解释
  16. Spring源码情操陶冶-AbstractApplicationContext#finishBeanFactoryInitialization
  17. hive:某张表进行分页
  18. 学习笔记_J2EE_Mybatis_02_mybatis注解配置入门
  19. 使用Hexo搭建个人博客的终极资料
  20. 每天学点Linux-选取命令CUT和GREP

热门文章

  1. 二十四、详述 IntelliJ IDEA 中自动生成 serialVersionUID 的方法
  2. OSTimeDlyHMSM函数
  3. STL中sort、priority_queue、map、set的自定义比较函数
  4. Eclipse 中打开选中文件/文件夹所在目录
  5. Oracle 左连接(+)加号用法及常用语法之间的关系
  6. 数据库函数(Left、Right)
  7. Javascript Code Style Guide
  8. vscode调试html文件
  9. 搭建Apache服务器并使用自签证书实现https访问
  10. Linux awk基础笔记