[PYTHON] Comment prendre une capture d'écran de l'écran Chrome (l'empêcher de se couper au milieu)

Contexte

J'ai essayé de prendre une capture d'écran automatiquement en utilisant Selenium, mais quelle que soit la taille spécifiée, elle a été coupée à la taille de l'écran et j'ai eu du mal à obtenir le bas du rouleau, c'est donc un mémorandum.

Ce qui a été utilisé

chromedriver (correspondant à la version de chrome que vous utilisez) selenium python

Méthode de correspondance

C'était OK si j'ajoutais des options sans tête.

screenshot.py


from selenium import webdriver
from selenium.webdriver.chrome.options import Options

if __name__ == "__main__":

    #Paramètres requis pour les captures d'écran inséparables
    options = Options()
    options.add_argument('--headless')
    driver = webdriver.Chrome(options=options)

    #Spécifiez une taille plus large
    driver.set_window_size(1400, 2000)

    #Spécifier la destination de la capture
    driver.get(r'https://ja.wikipedia.org/wiki/Qiita')

    #Capturé. Spécifiez le fichier de sauvegarde.
    driver.save_screenshot('screenshot.png')

    driver.close()

Considération

Si vous ajoutez des options sans tête, Chrome ne démarrera pas. Si vous ne l'attachez pas, la compression sera coupée, probablement parce que lorsque Chrome démarre, la hauteur et la largeur seront légèrement modifiées en fonction de la largeur de la fenêtre. .. .. Quand. Peut-être.

Recommended Posts

Comment prendre une capture d'écran de l'écran Chrome (l'empêcher de se couper au milieu)
Comment compter rapidement la fréquence d'apparition des caractères à partir d'une chaîne de caractères en Python?
Comment représenter la distribution de la composition bactérienne à partir des données d'analyse Qiime2 dans un diagramme de moustaches
Comment déterminer l'existence d'un élément sélénium en Python
Comment vérifier la taille de la mémoire d'une variable en Python
Comment vérifier la taille de la mémoire d'un dictionnaire en Python
Comment obtenir les coordonnées de sommet d'une entité dans ArcPy
[NNabla] Comment supprimer le niveau intermédiaire d'un réseau prédéfini
De l'introduction de l'API GoogleCloudPlatform Natural Language à son utilisation
[EC2] Comment faire une capture d'écran de votre smartphone avec du sélénium
[NNabla] Comment ajouter une couche de quantification à la couche intermédiaire d'un modèle entraîné
Comment calculer la volatilité d'une marque
Comment passer le résultat de l'exécution d'une commande shell dans une liste en Python
Comment mentionner un groupe d'utilisateurs avec une notification de mou, comment vérifier l'ID d'un groupe d'utilisateurs
Pour générer une valeur au milieu d'une cellule avec Jupyter Notebook
[NNabla] Comment obtenir la sortie (variable) de la couche intermédiaire du réseau construit
Comment compter le nombre d'éléments dans Django et sortir dans le modèle
Un mémorandum expliquant comment exécuter la commande magique! Sudo dans Jupyter Notebook
Comment obtenir une liste de fichiers dans le même répertoire avec python
Comment enregistrer les informations de point caractéristique de l'image dans un fichier et l'utiliser pour la mise en correspondance
Comment afficher la date de modification d'un fichier en langage C jusqu'à nanosecondes
Comment obtenir le nombre de chiffres en Python
[Python3] Prenez une capture d'écran d'une page Web sur le serveur et recadrez-la davantage
Effacez le cron.log régulièrement pour l'empêcher de se développer.
Comment identifier l'élément avec le plus petit nombre de caractères dans une liste Python?
Prenez des captures d'écran LCD avec Python-LEGO Mindstorms
Je souhaite prendre une capture d'écran du site sur Docker en utilisant n'importe quelle police
Comment télécharger des fichiers depuis Selenium of Python dans Chrome
Comment vérifier en Python si l'un des éléments d'une liste est dans une autre liste
[NNabla] Comment ajouter une nouvelle couche entre les couches intermédiaires d'un réseau pré-construit
Comment publier un ticket depuis l'API Shogun
Comment prendre une image capturée à partir d'une vidéo (OpenCV)
Une histoire sur la tentative d'introduire Linter au milieu d'un projet Python (Flask)
Comment afficher le maillage régional du Government Statistics Office (eStat) dans un navigateur Web
Comment créer une instance d'une classe particulière à partir de dict en utilisant __new__ () en python
Comment trouver la quantité moyenne d'informations (entropie) de la distribution de probabilité d'origine à partir de l'échantillon
Comment passer le résultat de l'exécution d'une commande shell dans une liste en Python (version non bloquante)
[Ubuntu] Comment supprimer tout le contenu du répertoire
Comment trouver le nombre optimal de clusters pour les k-moyennes
Comment découper un bloc de plusieurs tableaux à partir d'un multiple en Python
Connectez-vous à l'écran de gestion fortigate (6.0) à partir de sélénium-essayez de vous déconnecter
Comment utiliser la méthode __call__ dans la classe Python
Comment calculer la quantité de calcul appris de ABC134-D
Comment se connecter automatiquement comme 1Password depuis CLI
Comment développer dans un environnement virtuel Python [Memo]
Comment générer une requête à l'aide de l'opérateur IN dans Django
Comment obtenir la dernière (dernière) valeur d'une liste en Python
Comment obtenir une liste d'exceptions intégrées pour python
Comment trouver le coefficient de mise à l'échelle d'une ondelette bipolaire
Comment obtenir une liste de liens à partir d'une page de wikipedia
Comment connecter le contenu de la liste dans une chaîne de caractères
Prendre une capture d'écran en Python
[Voir dans l'image] Comment un débutant kaggle peut passer de "novice" à "contributeur" en 10 minutes.
[Python] Le rôle de l'astérisque devant la variable. Divisez la valeur d'entrée et affectez-la à une variable
Comment afficher une colonne de fichiers spécifiée sous Linux (awk)
[sh] Comment stocker les résultats de l'exécution de la commande dans des variables
Comment implémenter du code Java en arrière-plan de Red Hat (Linux ONE)
Comment connaître la structure interne d'un objet en Python
Comment obtenir toutes les valeurs possibles dans une expression régulière