it-swarm.com.de

Wie stelle ich die Breite und Höhe des Browsers in Selenium WebDriver ein?

Ich verwende Selenium WebDriver für Python. Ich möchte den Browser mit einer bestimmten Breite und Höhe instanziieren. Bis jetzt kann ich am nächsten kommen:

driver = webdriver.Firefox()
driver.set_window_size(1080,800)

Was funktioniert, legt aber die Browsergröße fest, nachdem es erstellt wurde, und ich möchte, dass es auf Instantiation gesetzt wird. Ich vermute, es gibt einen Ansatz in der Art von:

profile = webdriver.FirefoxProfile();
profile.set_preference(foo, 1080)
driver = webdriver.Firefox(profile)

Ich weiß jedoch nicht, was foo wäre, und ich kann nicht herausfinden, wo sich die Dokumente befinden.

Q1: Gibt es eine Möglichkeit, die Breite/Höhe bei der Instantiierung festzulegen?

F2: Wo sind die Referenzdokumente, die alle von profile.set_preference verwendbaren Schlüssel auflisten?

53
tom

So mache ich es in Python mit Selenium 2.48.0:

from Selenium.webdriver import Firefox
driver = Firefox()
driver.set_window_position(0, 0)
driver.set_window_size(1024, 768)
30
sirex

Für mich funktionierte in Java 7 unter OS X 10.9 nur Folgendes:

// driver = new RemoteWebDriver(new URL(grid), capability);
driver.manage().window().setPosition(new Point(0,0));
driver.manage().window().setSize(new Dimension(1024,768));

Dabei ist 1024 die Breite und 768 die Höhe.

29
Steve HHH

Versuchen Sie etwas so:

IWebDriver _driver = new FirefoxDriver();
_driver.Manage().Window.Position = new Point(0, 0);
_driver.Manage().Window.Size = new Size(1024, 768);

Nicht sicher, ob die Größe nach dem Start geändert wird. Vielleicht ist es nicht das, was Sie wollen

15
RoneRackal

Wenn Sie Chrom verwenden

 chrome_options = Options()
 chrome_options.add_argument("--start-maximized");
 chrome_options.add_argument("--window-position=1367,0");
 if mobile_emulation :
     chrome_options.add_experimental_option("mobileEmulation", mobile_emulation)

  self.driver = webdriver.Chrome('/path/to/chromedriver', 
                                  chrome_options = chrome_options)

Dies führt dazu, dass der Browser auf dem zweiten Monitor ohne störendes Flimmern oder Bewegungen über den Bildschirm gestartet wird.

4
e4c5

Es ist einfach. Hier ist der vollständige Code.

from Selenium import webdriver
driver = webdriver.Chrome()
driver.get("Your URL")
driver.set_window_size(480, 320)

Stellen Sie sicher, dass sich der Chrome-Treiber in Ihrem Systempfad befindet.

1
Raj Sahoo

Hier sind firefox-Profil-Standardeinstellungen aus Python Selenium 2.31.0 firefox_profile.py

und geben Sie "about: config" in die Firefox-Adressleiste ein, um alle Einstellungen anzuzeigen

verweis auf die Einträge in about: config: http://kb.mozillazine.org/About:config_entries

DEFAULT_PREFERENCES = {
    "app.update.auto": "false",
    "app.update.enabled": "false",
    "browser.download.manager.showWhenStarting": "false",
    "browser.EULA.override": "true",
    "browser.EULA.3.accepted": "true",
    "browser.link.open_external": "2",
    "browser.link.open_newwindow": "2",
    "browser.offline": "false",
    "browser.safebrowsing.enabled": "false",
    "browser.search.update": "false",
    "extensions.blocklist.enabled": "false",
    "browser.sessionstore.resume_from_crash": "false",
    "browser.Shell.checkDefaultBrowser": "false",
    "browser.tabs.warnOnClose": "false",
    "browser.tabs.warnOnOpen": "false",
    "browser.startup.page": "0",
    "browser.safebrowsing.malware.enabled": "false",
    "startup.homepage_welcome_url": "\"about:blank\"",
    "devtools.errorconsole.enabled": "true",
    "dom.disable_open_during_load": "false",
    "extensions.autoDisableScopes" : 10,
    "extensions.logging.enabled": "true",
    "extensions.update.enabled": "false",
    "extensions.update.notifyUser": "false",
    "network.manage-offline-status": "false",
    "network.http.max-connections-per-server": "10",
    "network.http.phishy-userpass-length": "255",
    "offline-apps.allow_by_default": "true",
    "prompts.tab_modal.enabled": "false",
    "security.fileuri.Origin_policy": "3",
    "security.fileuri.strict_Origin_policy": "false",
    "security.warn_entering_secure": "false",
    "security.warn_entering_secure.show_once": "false",
    "security.warn_entering_weak": "false",
    "security.warn_entering_weak.show_once": "false",
    "security.warn_leaving_secure": "false",
    "security.warn_leaving_secure.show_once": "false",
    "security.warn_submit_insecure": "false",
    "security.warn_viewing_mixed": "false",
    "security.warn_viewing_mixed.show_once": "false",
    "signon.rememberSignons": "false",
    "toolkit.networkmanager.disable": "true",
    "toolkit.telemetry.enabled": "false",
    "toolkit.telemetry.prompted": "2",
    "toolkit.telemetry.rejected": "true",
    "javascript.options.showInConsole": "true",
    "browser.dom.window.dump.enabled": "true",
    "webdriver_accept_untrusted_certs": "true",
    "webdriver_enable_native_events": "true",
    "webdriver_assume_untrusted_issuer": "true",
    "dom.max_script_run_time": "30",
    }
1
TONy.W
profile = webdriver.FirefoxProfile()
profile.set_preference('browser.window.width',0)
profile.set_preference('browser.window.height',0)
profile.update_preferences()

schreiben Sie diesen Code in den Setup-Teil Ihres Testcodes vor der Zeile: webdriver.Firefox().

0
Deniz Kaplan

Dies funktioniert sowohl mit headless als auch ohne Kopf und startet das Fenster mit der angegebenen Größe, anstatt es nach dem Festlegen von:

from Selenium.webdriver import Firefox, FirefoxOptions

opts = FirefoxOptions()
opts.add_argument("--width=2560")
opts.add_argument("--height=1440")

driver = Firefox(options=opts)
0
tsorn