zoukankan      html  css  js  c++  java
  • selenium +chrome headless Adhoc模式渲染网页

    mannual和adhoc模式比较

    Manual vs. Adhoc

    In the script above, we start the ChromeDriver server process when we create the WebDriver object and it is terminated when we call quit(). For a one-off script, that isn’t a problem, but this can waste a nontrivial amount of time for a large test suite that creates a ChromeDriver instance for each test. Luckily, we can manually start and stop the server ourselves, and it only requires a few changes to the script above.

    说的在使用selenium+chromeheadless做自动化测试时候,如果测试用例数量大,给每个测试用例启动一个浏览器要话费更多的时间。

    #coding=utf8
    import os,traceback
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.chrome.options import Options

    service = webdriver.chrome.service.Service('/home/xxxx/Downloads/phantomjs-2.1.1-linux-x86_64/bin/chromedriver')
    service.start()
    class ChromeHeadless(object):

    def __init__(self):

    chrome_options = Options()
    chrome_options.add_argument("--headless")
    chrome_options.add_argument('--disable-gpu')
    chrome_options.add_argument('--disable-images')
    chrome_options.add_argument('--disable-plugins')
    chrome_options.binary_location = '/opt/google/chrome/chrome'
    #prefs = {"profile.managed_default_content_settings.images": 2} # 关图片
    #chrome_options.add_experimental_option("prefs", prefs)
    self.chrome_options=chrome_options
    self.driver = webdriver.Remote(service.service_url,desired_capabilities=self.chrome_options.to_capabilities())
    self.driver.set_page_load_timeout(120)

    def fun(self,url):

    try:
    proxy_http_list = list(r.smembers('kuaidaili:http')) + list(r.smembers('zhima'))
    pr=random.choice(proxy_http_list)
    self.chrome_options.add_argument('--proxy-server=%s'%pr) #设置代理
    self.driver.start_session(self.chrome_options.to_capabilities())
    #print self.driver.session_id
    self.driver.get(url)

    except Exception,e:

    print '33[7;32;0m%s33[0m' %traceback.format_exc()




  • 相关阅读:
    转:// 再说 Oracle RAC services
    rman 脚本大全
    转://oracle 重新编译用户无效对象
    转://oracle 11G+ASM for Linux手工建库
    转://oracle字符集
    Linux下Oracle client客户端安装
    反对称串问题
    C#写鞍点问题
    每周进度条(第十六周)
    每周进度条(第十五周)
  • 原文地址:https://www.cnblogs.com/ydf0509/p/7340854.html
Copyright © 2011-2022 走看看