Ich möchte die Größe des Client-Fensters mit Selen (Browser Automation Framework) einstellen.
(Es ist einfach, die "echte" Fenstergröße festzulegen, einschließlich Registerkarten, URLs usw. Es ist jedoch etwas mühsam, die "interne" Fenstergröße anzugeben, in der der tatsächliche HTML-Code angezeigt wird.)
Die Größe des äußeren Rahmens kann erhalten werden, indem die Differenz zwischen der tatsächlichen Fenstergröße und der internen Fenstergröße genommen wird. Wenn Sie danach den äußeren Rahmen zu der Größe hinzufügen, die Sie einstellen möchten, können Sie die tatsächlich einzustellende Bildschirmgröße sehen.
Schreiben Sie in Python
width = 600 #Interne Breite, die Sie einstellen möchten(ClientWidth)
height = 400 #Interne Höhe, die Sie einstellen möchten(ClientHeight)
driver = webdriver.Chrome(options=options) #Einstellung weggelassen
#Extrahieren Sie die aktuelle Fenstergröße aus dem Treiber
current_window_size = driver.get_window_size()
#Extrahieren Sie die Größe des Clientfensters aus dem HTML-Tag
html = driver.find_element_by_tag_name('html')
inner_width = int(html.get_attribute("clientWidth"))
inner_height = int(html.get_attribute("clientHeight"))
#"Interne Breite, die Sie einstellen möchten+Stellen Sie "äußere Rahmenbreite" auf Fenstergröße ein
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))
Artikel, auf die verwiesen wird https://stackoverflow.com/questions/36333708/how-to-set-browser-client-area-size-using-selenium-webdriver
Recommended Posts