zoukankan      html  css  js  c++  java
  • 使用python+selenium控制手工已打开的浏览器

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

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

    chrome.exe --remote-debugging-port=9222 --user-data-dir="C:selenumAutomationProfile"

          对于-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)GoogleChromeApplicationchromedriver.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

  • 相关阅读:
    3.23.谷歌中国搜索关闭的日子
    在Fedora下成功将Vim打造成适用于C/C++的IDE
    有关内存DC和双缓冲位图的问题汇总
    [转]阶乘 n! 末尾 0 的个数
    [转]各种排序算法
    [转]使用CEGUI的Editbox进行中文输入
    [转]ASP.NET中文件上传下载方法集合
    背包问题的c++解法
    [转]经典C/C++算法
    [转]编写自己的MSN机器人
  • 原文地址:https://www.cnblogs.com/HJkoma/p/9936434.html
Copyright © 2011-2022 走看看