selenium-远程调用

1.拉去镜像:
    docker pull selenium/hub
    docker pull baozhida/selenium-node-chrome-debug:58
    docker pull baozhida/selenium-node-firefox-debug:52
2.创建并允许容器:
    创建selenium hub容器
    dockerrun -d -p 4444:4444 --name selehub selenium/hub

    创建chrome node容器
    docker run -d -p 5901:5900 --name node58 --link selehub:hub --shm-size=512m baozhida/selenium-node-chrome-debug:58

    创建firefox node容器
    docker run -d -p 5912:5900 --name ff52 --link selehub:hub --shm-size=512m baozhida/selenium-node-firefox-debug:52
    说明:
        *-d参数:后台模式运行;
        --name参数:别名;
        -p参数:将容器的5900端口映射到docker的5901端口,访问Docker的5901端口即可访问到node容器;
        --shm-size参数:docker默认的共享内存/dev/shm只有64m,有时导致chrome崩溃,该参数增加共享内存大小到512m.*
    docker logs -f selehub:查看日志
    在浏览器输入:主机ip:4444/grid/console
    下载VNC客户端:https://www.realvnc.com/en/connect/download/vnc/
    输入192.168.99.100:5901-->回车-->输入密码:secret-->确认-->进入chrome
    输入192.168.99.100:5901-->回车-->输入密码:secret-->确认-->进入firefox
    

        from  selenium import webdriver
        firefox_capabilities={
            "browserName":"firefox",
            "version": "52.0",#注意版本号一定要写对
            "platform": "ANY",
            "javascriptEnabled": True,
            "marionette": True,
        }
        browser=webdriver.Remote("http://192.168.99.100:4444/wd/hub",desired_capabilities=firefox_capabilities)#注意端口号4444是我们上文中映射的宿主机端口号
        browser.get("http://www.baidu.com")
        browser.get_screenshot_as_file(r"C:/baidu.png")
        browser.close()

    ```
posted @ 2019-07-25 21:20  Beyond8  阅读(727)  评论(0编辑  收藏  举报