zoukankan      html  css  js  c++  java
  • 【转】Chrome headless 模式

    原文地址:

    http://www.cnblogs.com/fnng/p/7797839.html

    我们在通过Selenium运行自动化测试时,必须要启动浏览器,浏览器的启动与关闭必然会影响执行效率,而且还会干扰你做其它事情(本机运行的话)。

    那能不能把自动化测试的运行放在后台?当然可以!

    • htmlunit 项目可以模拟浏览器运行,是一个没有界面的浏览器,运行速度快。

    • PhantomJS 是一个基于webkit的JavaScript API。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码。任何你可以在基于webkit浏览器做的事情,它都能做到。

    • Chrome-headless 模式,Google 自己出的无头浏览器模式。

    htmlunit 在Selenium 下面,我都没跑通过一个 baidu 的 demo, 因为它不打开 UI 界面,所以,你也不知道它后台是如何渲染页面的。 弃之!

    PhantomJS 非常不错,因为是使用的 QtWebKit 浏览器内核渲染页面,基本可以和真正浏览器保持一致。

    Chrome-headless 模式, Google 针对 Chrome 浏览器 59版 新增加的一种模式,可以让你不打开UI界面的情况下使用 Chrome 浏览器,所以运行效果与 Chrome 保持完美一致。PhantomJS作者表示,你这么搞我失业了啊!

    用法

    Python Selenium 用法:

    #coding=utf-8
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    import time
    
    chrome_option = Options()
    chrome_option.add_argument('--headless')
    driver = webdriver.Chrome(chrome_options=chrome_option)
    driver.get("https://www.baidu.com")
    driver.implicitly_wait(10)
    driver.save_screenshot('1.png')
    driver.get_screenshot_as_file("D:\tools\test\2.png")
    driver.find_element_by_id("kw").send_keys(u"博客园")
    driver.save_screenshot('2.png')
    
    time.sleep(5)
    driver.quit()
  • 相关阅读:
    楼市十大卖楼花招曝光〔转载〕
    Redhat中通过命令工具和配置文件设置TCP/IP参数的方法
    远程桌面超大最大连接数,无法连接服务器解决办法[转载]
    七夕祝福
    决定成败的人生细节
    QTP总结〔转载〕
    如何理解Return的返回值?
    IT人士群聚喝酒的讲究(转载)
    20 个增强表单功能的 jQuery 插件
    Windows Phone灵魂诠释:Metro UI界面完全解析
  • 原文地址:https://www.cnblogs.com/yrxns/p/8709635.html
Copyright © 2011-2022 走看看