当前位置: 首页>>代码示例>>Python>>正文


Python Xvfb.start方法代码示例

本文整理汇总了Python中xvfbwrapper.Xvfb.start方法的典型用法代码示例。如果您正苦于以下问题:Python Xvfb.start方法的具体用法?Python Xvfb.start怎么用?Python Xvfb.start使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在xvfbwrapper.Xvfb的用法示例。


在下文中一共展示了Xvfb.start方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: start_xvfb

# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
def start_xvfb():
  from xvfbwrapper import Xvfb
  if "DISPLAY" in os.environ:
    del os.environ["DISPLAY"]
  xvfb = Xvfb()
  xvfb.start()
  atexit.register(xvfb.stop)
开发者ID:acemaster,项目名称:AnimeReminder,代码行数:9,代码来源:xvfb.py

示例2: main

# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
def main():
    import sys
    import imageio
    import pandas as pd
    import matplotlib.pyplot as plt
    from xvfbwrapper import Xvfb

    plt.ioff()

    # with Xvfb() as xvfb:
    # plt.ioff()
    vdisplay = Xvfb()
    vdisplay.start()

    if len(sys.argv)<5:
        subsampleRate = 10
    else:
        subsampleRate = int(sys.argv[4])

    if len(sys.argv)<6:
        speedup = 10
    else:
        speedup = int(sys.argv[5])

    bounds2video(sys.argv[1],sys.argv[2],sys.argv[3],subsampleRate,speedup)
    vdisplay.stop()
开发者ID:valentina-s,项目名称:OOIVideos,代码行数:28,代码来源:bounds2video.py

示例3: XvfbRobot

# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
class XvfbRobot(object):
    """
    A robot library for creating virtual display on demand
    """

    ROBOT_LIBRARY_SCOPE = "GLOBAL"
    ROBOT_LIBRARY_VERSION = VERSION
    _display = None

    def start_virtual_display(self, width=1440, height=900, colordepth=24, **kwargs):
        """Starts virtual display which will be
         destroyed after test execution will be end

        *Arguments:*
        - width: a width to be set in pixels
        - height: a height to be set in pixels
        - color_depth: a color depth to be used
        - kwargs: extra parameters

        *Example:*

        | Start Virtual Display |
        | Start Virtual Display | 1920 | 1080 |
        | Start Virtual Display | ${1920} | ${1080} | ${16} |
        """
        if self._display is None:
            logger.info("Using virtual display: '{0}x{1}x{2}'".format(width, height, colordepth))

            self._display = Xvfb(int(width), int(height), int(colordepth), **kwargs)
            self._display.start()
            atexit.register(self._display.stop)
开发者ID:drobota,项目名称:robotframework-xvfb,代码行数:33,代码来源:__init__.py

示例4: test_start

# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
 def test_start(self):
     xvfb = Xvfb()
     self.addCleanup(xvfb.stop)
     xvfb.start()
     display_var = ':{}'.format(xvfb.new_display)
     self.assertEqual(display_var, os.environ['DISPLAY'])
     self.assertIsNotNone(xvfb.proc)
开发者ID:cjauvin,项目名称:xvfbwrapper,代码行数:9,代码来源:test_xvfb.py

示例5: test_start_with_arbitrary_kwargs

# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
 def test_start_with_arbitrary_kwargs(self):
     xvfb = Xvfb(nolisten='tcp', noreset=None)
     self.addCleanup(xvfb.stop)
     xvfb.start()
     display_var = ':{}'.format(xvfb.new_display)
     self.assertEqual(display_var, os.environ['DISPLAY'])
     self.assertIsNotNone(xvfb.proc)
开发者ID:cjauvin,项目名称:xvfbwrapper,代码行数:9,代码来源:test_xvfb.py

示例6: TestJavascript

# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
class TestJavascript(unittest.TestCase):
    def setUp(self):

        # Configure a web service.
        handler = http.server.SimpleHTTPRequestHandler
        address = ("127.0.0.1", 9999)
        socketserver.TCPServer.allow_reuse_address = True  # Prevents address conflicts.
        httpd = socketserver.TCPServer(address, handler)

        # Start the web service in a separate thread as deamon.
        httpd_thread = threading.Thread(target=httpd.serve_forever)
        httpd_thread.setDaemon(True)
        httpd_thread.start()

        # Start a display.
        self.display = Xvfb()
        self.display.start()

        # Start the browser driver for selenium testing.
        self.driver = webdriver.Firefox()
        self.driver.get("http://localhost:9999/index.html")

    def test_javascript(self):

        # Create an instance of the selenium Firefox driver.
        error = self.driver.find_elements_by_id("error")[0].text
        self.assertEqual(error, "")

    def tearDown(self):
        self.display.stop()
开发者ID:trollsofthenorth,项目名称:ludumdare36,代码行数:32,代码来源:test.py

示例7: get_mtgox_info

# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
def get_mtgox_info(input_vars):
	vdisplay = Xvfb()
	vdisplay.start()

	driver = webdriver.Firefox()

	driver.get("http://www.mtgox.com")

	uelem = driver.find_element_by_name("username")
	pelem = driver.find_element_by_name("password")
	lelem = driver.find_element_by_name("LOGIN")

	uelem.send_keys(input_vars['mtgoxId'])
	time.sleep(0.25)
	pelem.send_keys(input_vars['mtgoxPassword'])
	time.sleep(0.25)
	lelem.click()
	time.sleep(0.25)

	driver.get("https://www.mtgox.com/trade/funding-options")
	time.sleep(0.25)

	logout_button = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.CLASS_NAME, "logout")))

	address_elem = driver.find_elements_by_xpath("/html/body/div[2]/div[2]/div[3]/div[3]/section/div/div[4]/div[2]/div/p/strong")

	print address_elem
	new_address=address_elem.text
开发者ID:ianrust,项目名称:coinbase_to_mtgox,代码行数:30,代码来源:coinbaseToMtgox.py

示例8: enable

# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
def enable():
    import time
    import requests
    import settings
    from splinter import Browser
    from xvfbwrapper import Xvfb

    print "Trying to enable myself."
    vdisplay = Xvfb()
    vdisplay.start()


    email = settings.getEmail()
    password = settings.getPassword()
    team_name = settings.getTeamName()
    bot_user = settings.getBotUser()

    browser = Browser('chrome')
    url = 'https://{}.slack.com/services/{}'.format(team_name, bot_user)
    browser.visit(url)
    browser.fill('email', email)
    browser.fill('password', password)
    browser.find_by_id('signin_btn').first.click()
    browser.find_link_by_text('Enable').first.click()
    time.sleep(2) # Sometimes I saw a crash where there was no alert, so we'll wait a bit first.
    alert = browser.get_alert()
    alert.accept()
    time.sleep(2) # If you close the display too quickly, the request doesn't get processed.

    vdisplay.stop()
开发者ID:chaosking121,项目名称:mal,代码行数:32,代码来源:shenanigans.py

示例9: BaseTestCase

# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
class BaseTestCase(unittest.TestCase):

    def setUp(self):
        self.xvfb = os.environ.get("ENABLE_XVFB", False)
        self.browser = os.environ.get("BROWSER", "Chrome")
        if self.xvfb:
            self.vdisplay = Xvfb(width=1280, height=720)
            self.vdisplay.start()
        if self.browser == "Firefox":
            self.driver = self.get_ff_driver()
        else:
            self.driver = self.get_chrome_driver()
        self.load = self.driver.get

    def tearDown(self):
        if self.driver:
            self.driver.quit()
        if self.xvfb and self.vdisplay:
            self.vdisplay.stop()

    def get_ff_driver(self):
        return webdriver.Firefox()

    def get_chrome_driver(self):
        opts = Options()
        if "TRAVIS" in os.environ:  # github.com/travis-ci/travis-ci/issues/938
            opts.add_argument("--no-sandbox")
        # Fix for https://code.google.com/p/chromedriver/issues/detail?id=799
        opts.add_experimental_option("excludeSwitches",
                                     ["ignore-certificate-errors"])
        return webdriver.Chrome(chrome_options=opts)
开发者ID:pebreo,项目名称:closerlook-seldemo,代码行数:33,代码来源:basic_test.py

示例10: Xvfb

# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
class Xvfb(Plugin):
    def options(self, parser, env):
        super(Xvfb, self).options(parser, env)
        parser.add_option("--with-xvfb-options", action="store",
            dest="xvfb_options",
            default=env.get("NOSE_WITH_XVFB_OPTIONS"),
            help="Options to pass to Xvfb. Comma delimited with "
            "equals as separators if necessary. "
            "E.g. \"extension=SELINUX, once\". Currently, there is no "
            "way to provide options that begin with a +. This is a limitation "
            "in xvfbwrapper. Repetition is not allowed. [NOSE_WITH_XVFB_OPTIONS]")

    def configure(self, options, noseconfig):
        super(Xvfb, self).configure(options, noseconfig)
        self.xvfb_options = {}
        if options.xvfb_options:
            opts = [x.strip() for x in options.xvfb_options.split(",")]
            for item in opts:
                key, sign, value = item.partition("=")
                if not value:
                    value = ''
                self.xvfb_options[key] = value

    def begin(self):
        logger.info('Starting xvfb virtual display 1024x768 with %s' % self.xvfb_options)
        self.vdisplay = XvfbWrapper(width=1024, height=768, **self.xvfb_options)
        self.vdisplay.start()

    def finalize(self, result):
        logger.info('Stopping xvfb virtual display')
        self.vdisplay.stop()
开发者ID:awood,项目名称:nose-xvfb,代码行数:33,代码来源:xvfb.py

示例11: Webdriver

# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
class Webdriver(unittest.TestCase):
	def setUp(self):
		self.vdisplay = Xvfb(width=1280, height=720)
		self.vdisplay.start()
# 		if(not vdisplay.start()):
# 			fo = open(LOG_FILE, "a")
# 			fo.write("Xvfbfailure||"+str(TREATMENTID)+"||"+str(ID)+"\n")
# 			fo.close()
# 			sys.exit(0)
		if(BROWSER=='firefox'):
			if (platform.system()=='Darwin'):
				self.driver = webdriver.Firefox()
			elif (platform.system()=='Linux'):
				self.driver = webdriver.Firefox(proxy=proxy)
			else:
				print "Unidentified Platform"
				sys.exit(0)
		elif(BROWSER=='chrome'):
			if (platform.system()=='Darwin'):
				chromedriver = "./experiment/chromedriver/chromedriver_mac"
				os.environ["webdriver.chrome.driver"] = chromedriver
				self.driver = webdriver.Chrome(executable_path=chromedriver)
			elif (platform.system() == 'Linux'):
				chromedriver = "./experiment/chromedriver/chromedriver_linux"
				os.environ["webdriver.chrome.driver"] = chromedriver
				chrome_option = webdriver.ChromeOptions()
				chrome_option.add_argument("--proxy-server=yogi.pdl.cmu.edu:3128" )
				self.driver = webdriver.Chrome(executable_path=chromedriver, chrome_options=chrome_option)
			else:
				print "Unidentified Platform"
				sys.exit(0)
		else:
			print "Unsupported Browser"
			sys.exit(0)
		self.driver.implicitly_wait(10)
		self.base_url = "https://www.google.com/"
		self.verificationErrors = []
		self.driver.set_page_load_timeout(40)
		self.accept_next_alert = True
	
	def test_webdriver(self):
		fo = open(AD_FILE, "w")
		fo.close()
		driver = self.driver
		driver.get(SITE)
		count = 0
		while(count < N):
			els = driver.find_elements_by_css_selector("li.site-listing div.desc-container p.desc-paragraph a")
			for el in els:
				if(count < N):
					t = el.get_attribute('innerHTML').lower()
					fo = open(AD_FILE, "a")
					fo.write(t + '\n')
					fo.close()
					count += 1
			driver.find_element_by_css_selector("a.next").click()
    
	def tearDown(self):
		self.vdisplay.stop()
		self.driver.quit()
开发者ID:ninozong,项目名称:info-flow-experiments,代码行数:62,代码来源:alexa.py

示例12: start_xvfb

# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
def start_xvfb(module):
    try:
        xvfb = Xvfb(width=1280, height=720)
        xvfb.start()
        atexit.register(xvfb.stop)
    except:
        module.fail_json(msg="xvfb broke")
开发者ID:jcpowermac,项目名称:ansible-selenium-module,代码行数:9,代码来源:selenium.py

示例13: __init__

# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
 def __init__(self):
     log.start(logfile=time.strftime("log/%Y%m%d%H%M%S")+".log",logstdout=False)
     log.msg("initiating crawler...",level=log.INFO)
     self.crawler_id = self.get_crawler_id()
     log.msg("crawler id is %s" % self.crawler_id,level=log.INFO)
     self.r.set('crawler:ip:%s' % self.crawler_id,utils.get_external_ip())
     self.r.set('crawler:port:%s' % self.crawler_id,settings.REDIS_LOCAL_PORT)
     self.r.set('crawler:mapping_port:%s' % self.crawler_id,settings.REDIS_LOCAL_MAPPING_PORT)
     log.msg("crawler ip is %s, port is %d" % (utils.get_external_ip(),settings.REDIS_LOCAL_PORT),level=log.INFO)
     account = self.get_account()
     self.username = account[0]
     self.password = account[1]
     log.msg("crawler account got",level=log.INFO)
     self.r_local.set('crawler:status:%s' % self.crawler_id, 'good')
     self.r_local.set('crawler:update_time:%s' % self.crawler_id, datetime.datetime.utcnow().strftime("%s"))
     log.msg("local crawler status set",level=log.INFO)
     heartbeat_thread = threading.Thread(target=self.maintain_local_heartbeat)
     heartbeat_thread.start()
     log.msg("local crawler heartbeat started",level=log.INFO)
     if platform.system() == "Linux":
         #on linux, use virtual display
         vdisplay = Xvfb()
         vdisplay.start()
     co = ChromeOptions()
     #TODO: Disable image after log in
     #TODO: optimize memory usage
     co.add_experimental_option("prefs",{"profile.default_content_settings":{"popups":1}})
     #co.add_experimental_option("prefs",{"profile.default_content_settings":{"popups":1,"images":2,"media":2}})
     self.driver = webdriver.Chrome(chrome_options=co)
     self.driver.set_window_size(640,960)
开发者ID:1060460048,项目名称:zhihu-scrapy,代码行数:32,代码来源:zhihu_people.py

示例14: MainTest

# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
class MainTest(unittest.TestCase):
    
    def setUp(self):
        self.xvfb = Xvfb(width=1280, height=720)
        self.xvfb.start()
        self.browser = webdriver.Firefox()
        self.addCleanup(self.browser.quit)
    
    def test_main(self):
        self.browser.get("http://www.youtube.com")
        #self.browser.get("http://www.youtube.com//results?search_query=ionic")
        
        search = self.browser.find_element_by_id("masthead-search-term")
        search.send_keys('angular',Keys.RETURN)
        
        self.browser.implicitly_wait(2)
        self.browser.save_screenshot("youtube.png")
    
        '''
        with open('youtube.html','w') as html:
            page = driver.page_source
            html.write(page.encode('utf-8'))
        '''
        
        link_elements = self.browser.find_elements_by_xpath("//a[@title]")
        f = csv.writer(open("youtube.csv", "w"))
        f.writerow(["Name", "   Link"])  
        for element in link_elements:
            if len(element.text) > 5:
                name = element.text
                f.writerow([name.encode('utf-8'),"   "+ element.get_attribute("href")])
开发者ID:wonderfan,项目名称:python,代码行数:33,代码来源:youtube.py

示例15: PBSeleniumTest

# 需要导入模块: from xvfbwrapper import Xvfb [as 别名]
# 或者: from xvfbwrapper.Xvfb import start [as 别名]
class PBSeleniumTest(unittest.TestCase):
    def setUp(self):
        env = os.environ
        self.browser_bin = env.get("BROWSER_BIN", "")  # o/w use WD's default
        if "TRAVIS" in os.environ:
            self.xvfb = 1
        else:
            # by default don't use XVFB if we are not running on CI
            self.xvfb = int(env.get("ENABLE_XVFB", 0))
        self.pb_ext_path = self.get_extension_path()  # path to the extension
        if self.xvfb:
            self.vdisplay = Xvfb(width=1280, height=720)
            self.vdisplay.start()
        self.driver = self.get_chrome_driver()
        self.js = self.driver.execute_script

    def load_url(self, url, wait_on_site=0):
        """Load a URL and wait before returning."""
        self.driver.get(url)
        sleep(wait_on_site)

    def get_extension_path(self):
        """Return the path to the extension to be tested."""
        if "PB_EXT_PATH" in os.environ:
            return os.environ["PB_EXT_PATH"]
        else:  # check the default path if PB_EXT_PATH env. variable is empty
            print "Can't find the env. variable PB_EXT_PATH, will check ../.."
            # if the PB_EXT_PATH environment variable is not set
            # check the default location for the last modified crx file
            exts = glob("../../*.crx")  # get matching files
            return max(exts, key=os.path.getctime) if exts else ""

    def txt_by_css(self, css_selector, timeout=SEL_DEFAULT_WAIT_TIMEOUT):
        """Find an element by CSS selector and return it's text."""
        return self.find_el_by_css(css_selector, timeout).text

    def find_el_by_css(self, css_selector, timeout=SEL_DEFAULT_WAIT_TIMEOUT):
        return WebDriverWait(self.driver, timeout).until(
            EC.presence_of_element_located((By.CSS_SELECTOR, css_selector)))

    def get_chrome_driver(self):
        """Setup and return a Chrom[e|ium] browser for Selenium."""
        opts = Options()
        absp = os.path.abspath
        if "TRAVIS" in os.environ:  # github.com/travis-ci/travis-ci/issues/938
            opts.add_argument("--no-sandbox")
        opts.add_extension(self.pb_ext_path)  # will fail if ext can't be found
        if self.browser_bin:  # otherwise will use webdriver's default binary
            print "Browser binary:", absp(self.browser_bin)
            opts.binary_location = self.browser_bin  # set binary location
        # Fix for https://code.google.com/p/chromedriver/issues/detail?id=799
        opts.add_experimental_option("excludeSwitches",
                                     ["ignore-certificate-errors"])
        return webdriver.Chrome(chrome_options=opts)

    def tearDown(self):
        self.driver.quit()
        if self.xvfb and self.vdisplay:
            self.vdisplay.stop()
开发者ID:Hainish,项目名称:privacybadgerchrome,代码行数:61,代码来源:pbtest.py


注:本文中的xvfbwrapper.Xvfb.start方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。