web-dev-qa-db-ja.com

Selenium WebDriverでブラウザーの幅と高さを設定するにはどうすればよいですか?

Selenium WebDriver for Pythonを使用しています。特定の幅と高さでブラウザをインスタンス化します。これまでのところ、私が得ることができる最も近いものは:

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

これは機能しますが、作成後にブラウザのサイズを設定し、インスタンス化時に設定する必要があります。私は線に沿ってアプローチがあると推測しています:

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

しかし、fooが何であるかはわかりません。また、ドキュメントがどこにあるのかわかりません。

Q1:インスタンス化時に幅/高さを設定する方法はありますか?

Q2:profile.set_preferenceで使用可能なすべてのキーをリストしたリファレンスドキュメントはどこにありますか?

59
tom

Selenium 2.48.0でPythonを使用して行う方法は次のとおりです。

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

私にとって、Java 7でOS X 10.9で動作した唯一のものは、これでした:

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

どこ 1024は幅で、768は高さです。

31
Steve HHH

次のようなものを試してください:

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

ただし、起動後にサイズが変更されるかどうかはわからないので、おそらくあなたが望むものではないでしょう

16
RoneRackal

クロムを使用している場合

 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)

これにより、画面上で迷惑なちらつきや動きのない2番目のモニターでブラウザーが起動します。

5
e4c5

これはheadlessとnon-headlessの両方で機能し、その後に設定する代わりに、指定されたサイズでウィンドウを開始します。

from Selenium.webdriver import Firefox, FirefoxOptions

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

driver = Firefox(options=opts)
3
tsorn

それは簡単です。完全なコードは次のとおりです。

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

chromeドライバがシステムパスにあることを確認してください。

1
Raj Sahoo

python Selenium 2.31.0 firefox_profile.pyからのfirefoxプロファイルのデフォルト設定

そして、Firefoxのアドレスバーに「about:config」と入力して、すべての設定を表示します

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()
_

テストコードのセットアップ部分のwebdriver.Firefox()行の前にこのコードを記述します。

0
Deniz Kaplan