Je peux prendre des captures d'écran de la page entière en défilant vers la fenêtre, mais en combinant les problèmes de duplication (position fixe en-tête / contenu) dans toutes les pages. Est-ce qu'ils sont une solution pour résoudre ce problème. Veuillez publier votre réponse clairement.
FireFox ouvre la barre d'outils du développeur et tapez shift + f2 puis tapez cette commande.
screenshot d:\yash.png --fullpage
Puis il réduit le clientWidth et prend une capture d'écran. Selenium-WebDriver FireFox- ScreenShot
En utilisant du sélénium avec IE (décochez les cases de sécurité et confidentialité et réduisez Internet, acceptez tous les cookies à zéro). Utilisez ieCapabilities.setCapability("ignoreZoomSetting", true);
Alors il prend une capture d'écran de la page entière en réduisant la largeur du client sans problème de pixel d'image. Mais la capture d'écran sur ce site: http://help.dottoro.com/ljlumkqh.php
n'est pas comme prévu.
Mais Chrome ne nécessite qu'une partie visible de la page Web. Pour prendre une photo complète, nous devons faire défiler jusqu'à ClientHeight et combiner tous les écrans.
Le premier point est que vous n'avez pas besoin de faire défiler pour prendre un écran plein écran en sélénium.
Approche pour supprimer les données en double:
ImageIO.read()
écran à l'aide de la méthode ImageIO.read()
. .getLocation().getX()/getY()
. .getSubimage()
. ImageIO.write()
. Je pense qu'il devrait y avoir un code pour étayer votre question.
Mais, en supposant que vous faites défiler votre page explicitement pour prendre la capture d'écran.
Solution / Suggestion / Conseil: Selenium fait défiler par défaut la page pour prendre la capture d'écran de la page complète.
Code pour prendre la capture d'écran ci-dessus:
WebDriver driver = new FirefoxDriver(); driver.get("http://www.w3schools.com/html/default.asp"); File myScreenShot = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); FileUtils.copyFile(myScreenShot, new File("D:\\ff.png"));
Reportez – vous ceci pour plus d'informations sur la capture d'écran.
Supprimer les données collantes
Fenêtre. GetComputedStyle () et ses navigateurs pris en charge.
Objet CurrentStyle pour IE avant version 9
var elems = window.document.getElementsByTagName('*'); for(i = 0; i < elems.length; i++) { if (window.getComputedStyle) { var elemStyle = window.getComputedStyle(elems[i], null); if(elemStyle.getPropertyValue('position') == 'fixed' && elems[i].innerHTML.length != 0 ){ elems[i].parentNode.removeChild(elems[i]); } alert (Works For all Browsers); }else { var elemStyle = elems[i].currentStyle; if(elemStyle.position == 'fixed' && elems[i].childNodes.length != 0 ){ elems[i].parentNode.removeChild(elems[i]); } alert (Works for IE browsers version below 9); } }