为什么我在selenium测试中使用pyvirtualdisplay获取小屏幕截图?

时间:2017-12-05 15:19:06

标签: python selenium pyvirtualdisplay

我正在使用复杂的硒测试和class Widget { int width int height static void main(args) { def obj = new Widget(width: 7, height: 9) List<MetaProperty> metaProperties = obj.metaClass.properties def props = [:] for(MetaProperty mp : metaProperties) { props[mp.name] = mp.getProperty(obj) } // props will look like [width:7, class:class demo.Widget, height:9] } } ,以便在硒测试期间截取屏幕截图。但是,我使用以下代码创建pyvirtualdisplay

Display

和类似的代码

 self.display = Display(visible=0, size=(1366, 768))
 self.display.start()

创建屏幕截图(其中self.driver.save_screenshot(savename) self.driver - selenium)。但是,我得到的截图比定义的要小得多,比如911x197像素。我是否需要进行一些特殊配置才能获得更好的屏幕截图?到目前为止,我只能看到我用于测试的无头浏览器的一小部分......

1 个答案:

答案 0 :(得分:0)

您是否使用&#34; - 启动最大化&#34;启动浏览器?选项?

from pyvirtualdisplay import Display
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

def browser():
    opts = Options()
    opts.add_argument('--start-maximized')
    d = Display(visible=0, size=(1920, 1024))
    d.start()
    b = webdriver.Chrome(chrome_options=opts)