Selenium webdriver C# - la Prise de capture d'écran de la page entière
Quelqu'un peut m'aider à prendre une pleine page de capture d'écran en utilisant Selenium webdriver. Je suis à l'aide de c#/Nunit. La méthode que j'utilise est de ne pas prendre la pleine page du navigateur.
Je suis en utilisant le code ci-dessous pour prendre une capture d'écran.
public void TakeScreenShot(IWebDriver webDriver,string testName,string className)
{
string folderName = String.Format("{0}.{1}", className, testName);
//Create Screenshot folder
string createdFolderLocation = CreateFolder(folderName);
//Take the screenshot
Screenshot ss = ((ITakesScreenshot)webDriver).GetScreenshot();
string screenshot = ss.AsBase64EncodedString;
byte[] screenshotAsByteArray = ss.AsByteArray;
//Save the screenshot
ss.SaveAsFile((string.Format("{0}\\{1}",createdFolderLocation,testName + ".Jpeg")), System.Drawing.Imaging.ImageFormat.Jpeg);
ss.ToString();
}
Poste le code que vous utilisez actuellement.
Que considérez-vous à la page de votre navigateur?
Quel est exactement le problème? Votre code a l'air bien.
Merci pour la réponse. Je ne suis pas en mesure de voir les URL et les autres de la section supérieure du navigateur. J'ai été en mesure de prendre toute la page à l'aide de l'Selenium RC plus tôt.
De quoi avez-vous besoin de la barre d'URL, etc?
Que considérez-vous à la page de votre navigateur?
Quel est exactement le problème? Votre code a l'air bien.
Merci pour la réponse. Je ne suis pas en mesure de voir les URL et les autres de la section supérieure du navigateur. J'ai été en mesure de prendre toute la page à l'aide de l'Selenium RC plus tôt.
De quoi avez-vous besoin de la barre d'URL, etc?
OriginalL'auteur anil | 2012-05-09
Vous devez vous connecter pour publier un commentaire.
"Pleine page" captures d'écran sont définies par WebDriver pour inclure la totalité de la page affichée dans le navigateur, le navigateur chrome (barre d'adresse URL de la barre d'outils de la fenêtre, les poignées de redimensionnement, et ainsi de suite). Si vous ne se soucient pas de faire le plein DOM dans votre capture d'écran, vous n'avez pas besoin d'utiliser WebDriver pour obtenir votre capture d'écran. Vous pouvez utiliser l'API de votre système d'exploitation pour gérer à la place.
OriginalL'auteur JimEvans
Vous pouvez utiliser ce package https://www.nuget.org/packages/Noksa.WebDriver.ScreenshotsExtensions/
Afin de prendre une capture d'écran de la page entière, utilisez le VerticalCombineDecorator:
OriginalL'auteur Noksa
Essayez de changer la taille de la fenêtre du navigateur pour quelque chose d'énorme avant de prendre votre capture d'écran. J'ai la taille de 10 à moins de la largeur, et 10 de moins que la hauteur. Essayez d'ajouter plutôt que de la soustraction.
OriginalL'auteur MacGyver
vous pouvez essayer cette
c'est pour prendre une capture d'écran en utilisant selenium webdriver avec phantomjs. Si vous souhaitez utiliser firefox ou chrome. vous pouvez simplement changer PhantomJSDriver() pour le pilote que vous souhaitez utiliser.
J'ai été en mesure d'obtenir une capture d'écran de capture de travailler avec le
((ITakesScreenshot)driver).GetScreenshot().SaveAsFile();
approche, merci pour le partage!votre accueil!
OriginalL'auteur Salih Igde
Je me rappelle que ((ITakesScreenshot)webDriver).GetScreenshot(); se le prend en pleine page de capture d'écran, mais si vous avez une requête ajax et de chargement d'autres éléments que vous pouvez ajouter de défilement et à la fin, attendre quelques secondes, vous saurez qu'il en a pris plein chargement de la page de capture d'écran.
OriginalL'auteur Andrian Durlestean
Essayer cette espère que ça marchera pour u.
OriginalL'auteur Arnab
Salutations à partir de 2017))!
Si la taille de la page est plus grande que la taille de l'écran - vous pouvez utiliser le PhantomJS pilote (PhantomJS page de téléchargement)
OriginalL'auteur morphey83