python中的display_Python pyvirtualdisplay.Display方法代码示例

本文详细介绍了Python库pyvirtualdisplay中Display方法的使用,包括在自动化测试、网页抓取等场景下的代码示例。通过这些示例,你可以学习如何创建虚拟显示器、设置显示参数以及在头less模式下运行浏览器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

示例1: save_screenshot

​点赞 6

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def save_screenshot(self, main_url, screenshot_path):

try:

from pyvirtualdisplay import Display

display = Display(visible=0, size=(1024, 768))

display.start()

from selenium import webdriver

try:

if '127.0.0.1' in main_url or 'localhost' in main_url:

br = webdriver.Firefox()

else:

from selenium.webdriver.common.proxy import Proxy, ProxyType

proxy = Proxy({

'proxyType': ProxyType.MANUAL,

'httpProxy': HTTP_PROXY

})

br = webdriver.Firefox(proxy=proxy)

except Exception, e:

LOG.exception(e)

br = webdriver.Firefox()

br.get(main_url)

br.save_screenshot(screenshot_path)

br.quit()

display.stop()

return screenshot_path

开发者ID:cmu-db,项目名称:cmdbac,代码行数:26,

示例2: create_display

​点赞 6

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def create_display():

"""

Create a virtual display

Default size is 1920x1080 as smaller resolution

may cause problem in firefox

"""

status = True

if data_Utils.get_object_from_datarepository("headless_display"):

return status

try:

from pyvirtualdisplay import Display

# Selenium has problem with firefox in virtualdisplay if resolution is low

display = Display(visible=0, size=(1920, 1080))

display.start()

print_info("Running in headless mode")

except ImportError:

print_error("pyvirtualdisplay is not installed in order "

"to launch the browser in headless mode")

status = False

except Exception as err:

print_error("Encountered Exception: {0}, while trying to launch the browser"

" in headless mode".format(err))

status = False

return status

开发者ID:warriorframework,项目名称:warriorframework,代码行数:26,

示例3: setUpClass

​点赞 6

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def setUpClass(cls):

if not cls.display_browser_window():

display_args = {'visible': False}

if cls.browser_window_size is not None:

# For some browsers, we need display to be bigger

# than the size we want the window to be.

width, height = cls.browser_window_size

display_args['size'] = (width + 500, height + 500)

cls.__display = Display(**display_args)

cls.__display.start()

# We have one driver attached to the class, re-used between test runs

# for speed. Manually started driver instances (using new_browser_session)

# are cleaned up at the end of an individual test.

cls._cls_driver = cls._create_browser_instance()

super(FuncSeleniumMixin, cls).setUpClass()

开发者ID:django-functest,项目名称:django-functest,代码行数:18,

示例4: pollute_forever

​点赞 6

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def pollute_forever(self):

if self.verbose: print("""Display format:

Downloading: website.com; NNNNN links [in library], H(domain)= B bits [entropy]

Downloaded: website.com: +LLL/NNNNN links [added], H(domain)= B bits [entropy]

""")

self.open_driver()

self.seed_links()

self.clear_driver()

if self.quit_driver_every_call: self.quit_driver()

while True: # pollute forever, pausing only to meet the bandwidth requirement

try:

if (not self.diurnal_flag) or self.diurnal_cycle_test():

self.pollute()

else:

time.sleep(self.chi2_mean_std(3.,1.))

if npr.uniform() < 0.005: self.set_user_agent() # reset the user agent occasionally

self.elapsed_time = time.time() - self.start_time

self.exceeded_bandwidth_tasks()

self.random_interval_tasks()

self.every_hour_tasks()

time.sleep(self.chi2_mean_std(0.5,0.2))

except Exception as e:

if self.debug: print(f'.pollute() exception:\n{e}')

开发者ID:essandess,项目名称:isp-data-pollution,代码行数:25,

示例5: crawl_setup

​点赞 6

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def crawl_setup(tor=False, capture_path="", display_mode=0, port="9000", process_tag="1", exits="US"):

tor_call = ""

make_folder(capture_path)

if tor is True:

profile_ = setup_profile(tor=True, port=port, firebug=True, netexport=True, noscript=False,

capture_path=capture_path)

torrc_file = create_tor_config(port, "./torrc-" + process_tag, exits)

tor_call = start_program("/usr/sbin/tor -f " + torrc_file)

else:

profile_ = setup_profile(firebug=True, netexport=True, noscript=False, capture_path=capture_path)

display_ = Display(visible=0, size=(1024, 768))

if display_mode == 0:

display_.start()

binary = FirefoxBinary("./firefox/firefox")

driver_ = webdriver.Firefox(firefox_profile=profile_, firefox_binary=binary)

driver_.set_page_load_timeout(60)

driver_.set_script_timeout(60)

return driver_, display_, tor_call

开发者ID:iclab,项目名称:centinel,代码行数:20,

示例6: start_search

​点赞 5

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def start_search(self):

for socket in self.sockets:

with Display():

try:

self.search(socket)

except Exception as e:

print('%s: %s' % (type(e).__name__, str(e)))

print('trying next socket...')

finally:

self.browser.quit()

self.request_count += 1

if self.request_count > self.request_MAX:

self.request_count = 0

self.scrape_sockets()

开发者ID:rootVIII,项目名称:proxy_web_crawler,代码行数:16,

示例7: start

​点赞 5

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def start(self):

self._virtual_display = pyvirtualdisplay.Display(

backend='xvfb', size=(self.width, self.height),

color_depth=self.colordepth, use_xauth=self.xauth,

extra_args=self.args)

self._virtual_display.start()

self.display = self._virtual_display.display

assert self._virtual_display.is_alive()

开发者ID:The-Compiler,项目名称:pytest-xvfb,代码行数:10,

示例8: __init__

​点赞 5

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def __init__(self,showbrowser):

display = Display(visible=0, size=(1600, 1024))

display.start()

if not showbrowser:

os.environ['MOZ_HEADLESS'] = '1'

firefoxprofile = webdriver.FirefoxProfile()

firefoxprofile.set_preference("permissions.default.desktop-notification", 1)

firefoxprofile.set_preference("dom.webnotifications.enabled", 1)

firefoxprofile.set_preference("dom.push.enabled", 1)

self.driver = webdriver.Firefox(firefox_profile=firefoxprofile)

self.driver.implicitly_wait(15)

self.driver.delete_all_cookies()

开发者ID:Greenwolf,项目名称:social_mapper,代码行数:14,

示例9: __init__

​点赞 5

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def __init__(self,showbrowser):

display = Display(visible=0, size=(1600, 1024))

display.start()

if not showbrowser:

os.environ['MOZ_HEADLESS'] = '1'

firefoxprofile = webdriver.FirefoxProfile()

firefoxprofile.set_preference("permissions.default.desktop-notification", 1)

firefoxprofile.set_preference("dom.webnotifications.enabled", 1)

firefoxprofile.set_preference("dom.push.enabled", 1)

self.driver = webdriver.Firefox(firefox_profile=firefoxprofile)

self.driver.implicitly_wait(15)

#self.driver.delete_all_cookies()

开发者ID:Greenwolf,项目名称:social_attacker,代码行数:14,

示例10: init_driver_headless

​点赞 5

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def init_driver_headless():

'''

Initialize headless browser. it needs a virtual display

'''

from pyvirtualdisplay import Display

global Display # global variable because its needed in quit_driver()

display = Display(visible = 0, size = (1024, 768))

display.start()

print "display initialized for headless browser"

driver = webdriver.Firefox()

return driver

开发者ID:utkarshohm,项目名称:mf-platform-bse,代码行数:14,

示例11: start_display

​点赞 5

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def start_display():

""" Starts a virtual display

"""

global DISPLAY

display_info = get_config_value('display')

logging.getLogger("easyprocess").setLevel(logging.INFO)

w = int(display_info['width']) + 100

h = int(display_info['height']) + 100

DISPLAY = Display(visible=0, size=(w,h))

DISPLAY.start()

time.sleep(2)

BuiltIn().log('Started a virtual display as `%s`' % DISPLAY.new_display_var)

开发者ID:bachng2017,项目名称:RENAT,代码行数:14,

示例12: screenshot

​点赞 5

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def screenshot(file_path):

BuiltIn().log("WRN: This keyword is deprecated. Use `Display Capture` instead",console=True)

capture_display(file_path)

开发者ID:bachng2017,项目名称:RENAT,代码行数:5,

示例13: start_xvfb

​点赞 5

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def start_xvfb(win_width=cm.DEFAULT_XVFB_WIN_W,

win_height=cm.DEFAULT_XVFB_WIN_H):

xvfb_display = Display(visible=0, size=(win_width, win_height))

xvfb_display.start()

return xvfb_display

开发者ID:webfp,项目名称:tor-browser-crawler,代码行数:7,

示例14: setUpClass

​点赞 5

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def setUpClass(cls):

super(SeleniumTestCase, cls).setUpClass()

if settings.SKIP_SELENIUM_TESTS:

return

if settings.VIRTUAL_DISPLAY:

cls.vdisplay = Display(visible=0, size=(1024, 768))

cls.vdisplay.start()

cls.selenium = WebDriver(

executable_path=settings.GECKODRIVER_PATH,

service_log_path=settings.GECKODRIVER_LOG_PATH

)

cls.selenium.implicitly_wait(10)

开发者ID:mathiasertl,项目名称:django-ca,代码行数:16,

示例15: get_odds_checker_odds

​点赞 5

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def get_odds_checker_odds(match, league='premier-league'):

home_team_name = constants.FLASH_SCORES_TEAM_TO_ODDS_CHECKER[match['home_team']]

away_team_name = constants.FLASH_SCORES_TEAM_TO_ODDS_CHECKER[match['away_team']]

odds_url = 'https://www.oddschecker.com/football/english/{}/{}-v-{}/winner'.format(league, home_team_name, away_team_name)

display = Display(visible=0, size=(1024, 768))

display.start()

driver = webdriver.Firefox('/usr/local/bin/')

driver.get(odds_url)

time.sleep(10)

html_source = driver.page_source

driver.quit()

display.stop()

soup = BeautifulSoup(html_source, 'lxml')

home_team_for_soup = deslugify(home_team_name)

away_team_for_soup = deslugify(away_team_name)

if home_team_for_soup == 'Cardiff City':

home_team_for_soup = 'Cardiff City'

if away_team_for_soup == 'Cardiff City':

away_team_for_soup = 'Cardiff City'

home = soup.find('tr', {'data-bname': home_team_for_soup})

draw = soup.find('tr', {'data-bname': 'Draw'})

away = soup.find('tr', {'data-bname': away_team_for_soup})

home_bookies = home.get('data-best-bks')

home_odds = float(home.get('data-best-dig'))

draw_bookies = draw.get('data-best-bks')

draw_odds = float(draw.get('data-best-dig'))

away_bookies = away.get('data-best-bks')

away_odds = float(away.get('data-best-dig'))

return [home_bookies, draw_bookies, away_bookies], [1 / home_odds, 1 / draw_odds, 1 / away_odds]

开发者ID:BradleyGrantham,项目名称:pl-predictions-using-fifa,代码行数:42,

示例16: build_virtdisplay

​点赞 5

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def build_virtdisplay(size):

vdisp = Display(visible=0, size=size)

return vdisp

开发者ID:ftramer,项目名称:ad-versarial,代码行数:5,

示例17: __init__

​点赞 5

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def __init__(self):

self.display = Display(visible=0, size=(800, 600)) #为了隐藏浏览器

self.display.start()

# self.chromedriver = "/home/youmi/Downloads/chromedriver"

# self.driver = webdriver.Chrome(self.chromedriver) #若无display,会打开浏览器

chromedriver = "/home/ubuntu/geckodriver"

self.driver = webdriver.Firefox(executable_path=chromedriver)

开发者ID:yinzishao,项目名称:NewsScrapy,代码行数:9,

示例18: __init__

​点赞 5

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def __init__(self):

self.display = Display(visible=0, size=(800, 600)) #为了隐藏浏览器

self.display.start()

# chromedriver = "/home/youmi/Downloads/chromedriver"

# self.driver = webdriver.Chrome(chromedriver) #若无display,会打开浏览器

chromedriver = "/home/ubuntu/geckodriver"

self.driver = webdriver.Firefox(executable_path=chromedriver)

开发者ID:yinzishao,项目名称:NewsScrapy,代码行数:9,

示例19: __init__

​点赞 5

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def __init__(self):

self.cur_path = os.path.dirname(os.path.abspath(__file__))

self.display = Display(visible=False)

self.binary = None

self.profile = None

self.driver = None

self.parsed = 0

开发者ID:iclab,项目名称:centinel,代码行数:9,

示例20: single_mode

​点赞 5

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def single_mode(cli_parsed):

display = None

if cli_parsed.web:

create_driver = selenium_module.create_driver

capture_host = selenium_module.capture_host

if not cli_parsed.show_selenium:

display = Display(visible=0, size=(1920, 1080))

display.start()

url = cli_parsed.single

http_object = objects.HTTPTableObject()

http_object.remote_system = url

http_object.set_paths(

cli_parsed.d, None)

web_index_head = create_web_index_head(cli_parsed.date, cli_parsed.time)

print('Attempting to screenshot {0}'.format(http_object.remote_system))

driver = create_driver(cli_parsed)

result, driver = capture_host(cli_parsed, http_object, driver)

result = default_creds_category(result)

if cli_parsed.resolve:

result.resolved = resolve_host(result.remote_system)

driver.quit()

if display is not None:

display.stop()

html = result.create_table_html()

with open(os.path.join(cli_parsed.d, 'report.html'), 'w') as f:

f.write(web_index_head)

f.write(create_table_head())

f.write(html)

f.write("
")

开发者ID:FortyNorthSecurity,项目名称:EyeWitness,代码行数:34,

示例21: get_browser

​点赞 5

# 需要导入模块: import pyvirtualdisplay [as 别名]

# 或者: from pyvirtualdisplay import Display [as 别名]

def get_browser(cls):

if use_saucelabs():

return cls.get_saucelabs_browser()

else:

if cls.use_xvfb():

from pyvirtualdisplay import Display

cls.display = Display(visible=0, size=(1200, 800))

cls.display.start()

return cls.get_firefox_driver()

开发者ID:ebmdatalab,项目名称:openprescribing,代码行数:12,

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值