2017-02-26 2 views
0

Ich brauche einen Screenshot des nur sichtbaren Teils der Seite in IEDriver, um Konsistenz mit anderen Treibern zu haben. Mit anderen Treibern benutze ich die "scroll and stitch" -Methode, um ein Seitenbild mit voller Höhe zu erhalten, aber in einigen Fällen kann es Unterschiede geben - zum Beispiel wenn die Seite einen sticky header hat. Ich würde lieber auf die eine oder andere Weise gehen, aber das gleiche für alle Fahrer, und nicht alle Treiber bieten die Möglichkeit, ganze Seite Screenshot zu nehmen. dieserIst es möglich, im InternetExplorerDriver einen Screenshot des sichtbaren Teils der Seite zu erstellen?

Docs für TakesScreenshot Schnittstelle lautet:

Für WebDriver TakesScreenshot erstreckt, dies macht eine Best-Effort je nach Browser die folgenden in der Reihenfolge ihrer Präferenz zurück:

  • Gesamte Seite
  • Aktuelles Fenster
  • Sichtbarer Teil des aktuellen Rahmens
  • Der Geröll Nshot der gesamten Anzeige mit dem Browser

Meine Frage ist:

Ist es möglich Screenshot Internet Explorer zu zwingen, nur von aktuellen Fenster zu übernehmen? Ich weiß, dass es nicht über API möglich ist, aber vielleicht gibt es einige benutzerdefinierte Fähigkeiten oder interne Treibereinstellungen, die geändert werden können?

Antwort

1

Ich habe diese Informationen in Internet Explorer Treiber Server Changelog:

v2.52.0.0

  • Veröffentlichung mit dem Release von Selen Projekt zu synchronisieren.
  • Aktualisierungen für JavaScript-Automationsatome.
  • (im Auftrag von Anton Usmansky) ie.enableFullPageScreenshot-Fähigkeit hinzugefügt, damit Benutzer Screenshots nur des aktuellen Ansichtsanschlusses erstellen können. Die -Funktion ist standardmäßig auf "true" eingestellt, wodurch das ursprüngliche Verhalten von bei der Größenanpassung des Browserfensters und bei der Erstellung eines Screenshots der gesamten Seite beibehalten wird.

Ich habe es versucht und es funktioniert tatsächlich! Beispielcode für Java (funktioniert mit IE11 - Ich habe es nicht mit anderen Versionen getestet):

DesiredCapabilities caps = new DesiredCapabilities(); 
caps.setCapability("ie.enableFullPageScreenshot", false); 
WebDriver driver = new InternetExplorerDriver(caps); 
Verwandte Themen