La réponse courte est NON, VOUS NE POUVEZ PAS (raison détaillée ci-dessous). Mais, ce que vous pouvez faire est de tirer le meilleur parti de votre appareil (moniteur) viewport. Par conséquent, démarrez votre instance de navigateur (pilote) à l'aide de ChromeOptions()
, qui est la méthode de définition des fonctionnalités spécifiques à ChromeDriver. Nous pouvons effectuer les opérations suivantes:
- de maximiser la fenêtre (en utilisant le commutateur
--start-maximized
);
- passer en mode plein écran (
F11
-key sous Windows, Control+Cmd+F
sur Mac, en utilisant le commutateur --start-fullscreen
).
- Remarque: la liste complète des commutateurs de ligne de commande Chrome peut être trouvée here.
Votre code devrait ressembler à ceci:
// Setting your Chrome options (Desired capabilities)
ChromeOptions options = new ChromeOptions();
options.add_argument('--start-maximized');
options.add_argument('--start-fullscreen');
// Creating a driver instance with the previous capabilities
WebDriver driver = new ChromeDriver(options);
// Load page & take screenshot of full-screen page
driver.get("http://google.com");
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
Maintenant, en ce qui concerne le problème de la pleine page, tous les pilotes (chromedriver
, geckodriver
, IEDriver
, EdgeDriver
, etc.) mettent en œuvre la WebDriver W3C norme . Ainsi, ils dépendent de la façon dont l'équipe WebDriver veut exposer la fonctionnalité des différentes fonctionnalités, dans notre cas, 'Take Screenshot'.
Si vous lisez la définition, il énonce clairement les éléments suivants:
La commande Prenez Capture d'écran prend une capture d'écran de VIEWPORT du contexte de navigation de niveau supérieur.
Legacy-sage, certains pilotes ont pu produire une capture d'écran pleine page (en savoir plus sur ce here), comme l'ancien FirefoxDriver, IEDriver, etc. Ce n'est plus le cas car ils mettent en œuvre maintenant tous (à la lettre) le standard WebDriver W3C.
J'ai une réponse pour vous mais je veux confirmer si cela fonctionne pour vous. Alors, pouvez-vous s'il vous plaît envisager de préciser ce que vous entendez par «page web complète, non seulement partielle du haut en utilisant le sélénium»? Merci – DebanjanB