2017-06-30 2 views
2

Wenn ich versuche, auf meinem lokalen Rechner (Macbook)WebDriver takeScreenshot() gibt leeren Bildschirm

byte[] screen = driver.takeScreenshot(); 

Driver:

public byte[] takeScreenshot() { 
     return ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES); 
    } 

ich

SCREENSHOT BYTES: -119807871131026100001373726882008520054886000 -7418-1053100122110567678073676732801141111021051081010072 ... 66-51-53-81-71-37-7131115-33-25-66-501218163264-12801248163264-12801248163264-12801248163264-12801291446-13-31-13-36105-1856119-104-112-3112194-3361471279-107 -3665110-3364000073697868-826696-126

Aber wenn ich es auf Jenkins Windows-Slave versuchen, erhalte ich

SCREENSHOT BYTES: -1198078711310261000013737268820040002-1058600028-82566600109573686584120-100-19-63491000-62 -96-11791091063 9600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ... 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000466116-201-91-24-43-101000073697868-826696-126

welches Bild ist, aber leer (unsichtbar).

Ich versuchte es auch in Chromedriver, Geckodriver und IE-Treiber.

Antwort

3

traf ich fast das gleiche Problem und es gelöst durch Aktualisierung meine Chrome ab Version 59.0.3071.115 zu Google Chrome beta v60.0.3112.40.

Mein Problem ist, dass Selen-Screenshot gut lokal funktioniert, aber nimmt nur blank Screenshot auf Jenkins seit letzter Woche. Dies ist die screenshot before my updating to Chrome Beta version.

Dann habe ich festgestellt, dass Google eine neue Version von Chrome am 27. Juni und Chrome am 30. Juni automatisch aktualisiert. Das ist der Grund.

Ich habe versucht, den Chrom-Treiber für 2,28 bis 2,3 zu verbessern, Chrome auf Version 64_59.0.3071.86 zurückrollen, aber es hat nie funktioniert. Dann fand ich Links unten ist wirklich hilfreich.

Chrome 59 remote desktop chromedriver.exe saves white/blank

Selenium ChromeDriver makes blank screenshots

+1

Dies ist das erste Mal, dass ich Stackoverflow benutze und es tut mir wirklich leid für meine schlechte Antwortstruktur. Ich habe versucht, Chrome zurückzusetzen, aber die automatische Chrome-Version von Chrome wird bald deine Bemühungen ruinieren. –

+1

Ihre Antwort war perfekt. Ich habe Chrome in der Betaversion (60.0.3112.50) ausprobiert und es funktioniert gut. Und es wird nicht mit Update ruiniert werden. Nach der stabilen Veröffentlichung werde ich stabiles Chrome zurück installieren. – medy75

+0

Aktualisierung auf Chrome Beta (v60 +) funktionierte für mich zu. –

1

Dies geschah auf einem Windows-Rechner für mich. In den Fortschreibungs Chrome 59 Noten, einer der Höhepunkte ist:

Voll Seite Screenshots - Nehmen Sie einen Screenshot der gesamten Seite, von der oberen Rand des Darstellungsfeld nach unten.

Ich nehme an, dass etwas in diesem Update Screenshots mit Jenkins brach. Ich habe festgestellt, dass ein Rollback auf die vorherige Version von Chrome das Problem für mich behoben hat.(Schauen Sie sich die Build-Version here dann laden Sie diese Version here).

Ich habe auch ein Ticket here zu googlen für dieses Problem, da ich keine anderen finden konnte. Vielleicht, wenn andere Leute es kommentieren, wird es etwas Dampf bekommen.

Verwandte Themen