我有一个需求,我正在运行一个Selenium脚本,在一台机器上打开了2个Firefox实例。我想同时对两个实例进行截屏,同时这个“同时”非常重要。
我使用以下步骤来模拟这个过程:
- 使用
Xvfb -ac:99和Xvfb -ac:100
启动2个不同的显示器 - 我有2个Python脚本,分别将环境变量DISPLAY设置为99和100。
以下是Python脚本:screenshot99.py
#!/usr/bin/env python
from pyvirtualdisplay import Display
from selenium import webdriver
import os
os.environ['DISPLAY'] = ':99'
display = Display(visible=0, size=(800, 600))
display.start()
browser = webdriver.Firefox()
browser.get('http://www.test.com')
browser.quit()
display.stop()
和 screenshot100.py
#!/usr/bin/env python
from pyvirtualdisplay import Display
from selenium import webdriver
import os
os.environ['DISPLAY'] = ':100'
display = Display(visible=0, size=(800, 600))
display.start()
browser = webdriver.Firefox()
browser.get('http://www.test.com')
browser.quit()
display.stop()
我有两个问题:
- 是否有可能同时截取两个不同浏览器实例的屏幕截图?
- 如果是,我该如何模拟呢?我只需要一个概念验证来证明上述事实。