您的位置: 网站首页> selenium爬虫> 当前文章

selenium控制(接管)本地已打开的浏览器

老董2020-12-24171围观,109赞

  前面我们说过通过一段js把selenium的webdreiver特征全部去除掉后依然可以被检测,遇到这种刁钻的站该怎么办呢?只有用笨方法了。让selenium去控制本地已经正常启动的浏览器。具体实现步骤如下:

  1 在cmd下执行命令启动1个浏览器(命令号要带引号)

  这个命令走的是谷歌的cdp(Chrome DevTools Protocol) 协议,大家可以去官方了解下这个协议,还是非常强大的。

"C:Program Files (x86)GoogleChromeApplicationchrome.exe" --remote-debugging-port=9222 --user-data-dir="C:selenumAutomationProfile"

  2 在selenium脚本中接管这个浏览器

    option = Options()
    option.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
    driver = webdriver.Chrome(options=option)

  网站之前的文章提到过selenium搞浏览器久了会导致内存不足浏览器崩溃,万一崩溃了还得手动重启,关键也不知道啥时候崩溃。基于此,有人会想搞个脚本直接用os模块执行cmd命令启动浏览器的,省去手动的环节,这样可以通过捕获异常来重启浏览器实现长久持续的运行。

  以上想法是不行的,在脚本里通过os模块启动浏览器后,selenium无法接管到浏览器。我测试很多次原因不明。

很赞哦!

python编程网提示:转载请注明来源www.python66.com。
有宝贵意见可添加站长微信(底部),获取技术资料请到公众号(底部)。同行交流请加群 python学习会

文章评论

    selenium控制(接管)本地已打开的浏览器文章写得不错,值得赞赏

站点信息

  • 网站程序:Laravel
  • 客服微信:a772483200