Je souhaite définir la taille de la fenêtre du client avec du sélénium (cadre d'automatisation du navigateur).
(Il est facile de définir la taille "réelle" de la fenêtre, y compris les onglets, les URL, etc. Cependant, il est un peu fastidieux de spécifier la taille de la fenêtre "interne" où le HTML réel est affiché.)
La taille du cadre extérieur peut être obtenue en prenant la différence entre la taille réelle de la fenêtre et la taille de la fenêtre interne. Après cela, si vous ajoutez le cadre extérieur à la taille que vous souhaitez définir, vous pouvez voir la taille d'écran réelle à définir.
Ecrire en python
width = 600 #Largeur interne que vous souhaitez définir(ClientWidth)
height = 400 #Hauteur interne que vous souhaitez régler(ClientHeight)
driver = webdriver.Chrome(options=options) #Paramètre omis
#Extraire la taille actuelle de la fenêtre du pilote
current_window_size = driver.get_window_size()
#Extraire la taille de la fenêtre cliente de la balise html
html = driver.find_element_by_tag_name('html')
inner_width = int(html.get_attribute("clientWidth"))
inner_height = int(html.get_attribute("clientHeight"))
#"Largeur interne que vous souhaitez définir+Définir la "largeur du cadre extérieur" sur la taille de la fenêtre
target_width = width + (current_window_size["width"] - inner_width)
target_height = height + (current_window_size["height"] - inner_height)
driver.set_window_rect(
width=target_width,
height=target_height)
print("Window size changed: [{}, {}]".format(target_width, target_height))
Articles référencés https://stackoverflow.com/questions/36333708/how-to-set-browser-client-area-size-using-selenium-webdriver
Recommended Posts