Как увеличить окно браузера в Selenium WebDriver (Selenium 2) с помощью С#?

Есть ли способ увеличить окно браузера с помощью WebDriver (Selenium 2) с помощью С#?

Ответ 1

У вас есть замечательная проблема для добавления этой функции в WebDriver, которую можно отследить здесь: http://code.google.com/p/selenium/issues/detail?id=174

Обходным решением будет использование JavascriptExector следующим образом:

public void resizeTest() {
    driver.Navigate().GoToUrl("http://www.example.com/");
((IJavaScriptExecutor)driver).ExecuteScript("window.resizeTo(1024, 768);");
}

Ответ 2

driver.Manage().Window.Maximize();

Это работает для IE и Firefox. Chrome не работает. В проекте ChromeDriver присутствует ошибка.

Между тем, обойти хром - это реализовать то, что предложили Джои В. и Кодер323.

ChromeOptions options = new ChromeOptions();
options.addArgument("--start-maximized");
driver = new ChromeDriver(options);

Ответ 3

Для IE и Firefox:

driver.manage().window().maximize();

Для Chrome:

ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
driver = new ChromeDriver( options )

Ответ 4

Вы можете использовать что-то вроде этого (С#):

driver.Manage().Window.Size = new Size(1024, 768);

Ответ 5

Развернуть браузер с помощью С# (.NET):

driver.Manage().Window.Maximize();

Развернуть браузер с помощью Java:

driver.manage().window().maximize();

Другой способ сделать с Java:

Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screenResolution = new Dimension((int) 
                    toolkit.getScreenSize().getWidth(), (int) 
                    toolkit.getScreenSize().getHeight());

driver.manage().window().setSize(screenResolution);

Ответ 6

Java

driver.manage().window().maximize();

Python

driver.maximize_window()

рубин

@driver.manage.window.maximize

Ответ 7

Если вы используете драйвер Chrome, вы можете установить возможности

    var capabilities = new DesiredCapabilities();

    var switches = new List<string>
                       {
                           "--start-maximized"
                       };

    capabilities.SetCapability("chrome.switches", switches);

    new ChromeDriver(chromedriver_path, capabilities);

Ответ 8

Для меня работал следующий фрагмент кода Selenium Java:

driver.manage().window().setPosition(new Point(0,0));
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
Dimension dim = new Dimension((int) screenSize.getWidth(), (int) screenSize.getHeight());
driver.manage().window().setSize(dim);

Ответ 9

Для Java:

driver.manage().window().maximize();

Он будет работать в IE, Mozilla, Chrome

Ответ 10

Для С#:

driver.Manage().Window.Maximize();

Для Java:

driver.manage().window().maximize();

Ответ 11

Вы можете использовать Selenium Emulation в WebDriver:

selenium = new WebDriverBackedSelenium(driver,url);
selenium.windowMaximize();

Ответ 12

using System.Windows.Forms;
using System.Drawing;

public static void MaximizeBrowser(this IE myBrowser)
{
    myBrowser.SizeWindow(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);
}

Я использовал код Jim, но немного модифицирован для использования с WatiN и С#, чтобы максимизировать браузер.

Ответ 13

Мы наблюдали ошибку с новыми библиотеками драйверов. Вы можете использовать немного старые банки, которые могут обрабатывать новые версии браузеров.

Основной общий вариант: -

driver.manage().window().maximize();

Вы также можете использовать другую опцию для максимизации окна браузера.

Пример: -

Добавьте параметр ниже и передайте его драйверу: -

    chromeOptions.addArguments("--start-maximized");

Полный код будет выглядеть следующим образом: -

System.setProperty("webdriver.chrome.driver","D:\\Workspace\\JmeterWebdriverProject\\src\\lib\\chromedriver.exe");
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--start-maximized");
driver = new ChromeDriver(chromeOptions);

ИЛИ

Toolkit toolkit = Toolkit.getDefaultToolkit();
int Width = (int) toolkit.getScreenSize().getWidth();
int Height = (int)toolkit.getScreenSize().getHeight();
//For Dimension class, Import following library "org.openqa.selenium.Dimension"  
driver.manage().window().setSize(new Dimension(Width,Height));
driver.get("https://google.com");

Попробуйте это на сафари: -

JavascriptExecutor jse = (JavascriptExecutor)driver;
String screenWidth = jse.executeScript("return screen.availWidth").toString();
String screenHeight = jse.executeScript("return screen.availHeight").toString();
int intScreenWidth = Integer.parseInt(screenWidth);
int intScreenHeight = Integer.parseInt(screenHeight);
Dimension d = new Dimension(intScreenWidth, intScreenHeight);
driver.manage.window.setSize(d);

Ответ 14

Просто используйте команду Window.Maximize()

WebDriver driver= new ChromeDriver()
driver.Manage().Window.Maximize();  

Ответ 15

Существует функция, которую вы можете использовать для максимизации окна в Python, который является window_maximize(). И вот как я его использую. Надеюсь, это поможет -

from selenium import selenium
sel = selenium('localhost', 4444, '*firefox', 'http://10.77.21.67/')
sel.start()
sel.open('/')
sel.wait_for_page_to_load(60000)
#sel.window_focus()
sel.window_maximize()
png = sel.capture_screenshot_to_string()
f = open('screenshot.png', 'wb')
f.write(png.decode('base64'))
f.close()
sel.stop()

Ответ 16

Клиентские драйверы С#:

driver = new FirefoxDriver(firefoxProfile);
driver.Manage().Window.Size = new System.Drawing.Size(System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Width+10, System.Windows.Forms.Screen.PrimaryScreen.WorkingArea.Height+10);

=== > также добавьте ссылку на сборку .NET "System.Windows.Forms"

... единственная проблема в том, что он не правильно позиционирован
... прокомментируйте, если вы можете исправить это.

Ответ 17

Здесь, что сработало для меня в С#, firefoxDriver является глобальным для класса:

в операциях:

using System.Drawing;
using System.Windows.Forms;

в коде:

this.firefoxDriver = new FirefoxDriver();
this.firefoxDriver.Manage().Window.Position = new Point(0, 0);
this.firefoxDriver.Manage().Window.Size = new Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height);

Ответ 18

Я использовал это решение

            OpenQA.Selenium.Chrome.ChromeOptions chromeoptions = new OpenQA.Selenium.Chrome.ChromeOptions();
            chromeoptions.AddArgument("--start-maximized");
            OpenQA.Selenium.Chrome.ChromeDriver chrome = new OpenQA.Selenium.Chrome.ChromeDriver(chromeoptions);

Ответ 19

Для Webdriverjs (node.js) следующее окно улучшает хромированное окно.

var webdriver = require('selenium-webdriver');
var driver = new webdriver.Builder().
withCapabilities(webdriver.Capabilities.chrome()).build();
driver.manage().window().maximize();
driver.get('hxxp://localhost:8888');

Ответ 20

Эта опция подходит для меня:

ChromeOptions options = new ChromeOptions();
options.addArguments("start-fullscreen");

Эта опция работает на всех ОС.

Ответ 21

Нижняя строка кода максимизирует IE, Chrome и Mozilla

driver.manage().window().maximize();

Вышеупомянутая строка кода и другие обходные пути, упомянутые в сообщении, не работали в браузере NodeWebKit, поэтому в качестве обходного пути мне пришлось использовать собственный код С#, как указано ниже:

public static void MaximiseNWKBrowser(IWebDriver d)
        {
            var body = UICommon.GetElement(By.TagName("body"), d);
            body.Click();
            string alt = "%";
            string space = " ";
            string down = "{DOWN}";
            string enter = "{ENTER}";
            SendKeys.SendWait(alt + space);
            for(var i = 1; i <= 6; i++)
            {
                SendKeys.SendWait(down);
            }
            SendKeys.SendWait(enter);            
        }

Итак, это обходное решение в основном использует "ALT + SPACE", чтобы вызвать меню действий браузера, чтобы выбрать "MAXIMIZE" из параметров и нажимать "ENTER"

Ответ 22

В приведенном ниже коде я могу максимизировать окно,

((JavascriptExecutor) driver).executeScript("if(window.screen){
    window.moveTo(0, 0);
    window.resizeTo(window.screen.availWidth, window.screen.availHeight);
    };");

Ответ 23

Это отлично работает для меня.

Capybara.current_session.driver.browser.manage.window.resize_to(1800, 1000)

Ответ 24

Я попробовал много ответов выше, но никто не работает хорошо. Моя версия драйвера chrome - 2,7, а Iam - selenium-java vesion - 2,9,0. В официальном документе предлагается использовать:

var capabilities = new DesiredCapabilities();
var switches = new List<string>
                       {
                           "--start-maximized"
                       };
capabilities.SetCapability("chrome.switches", switches);    
new ChromeDriver(chromedriver_path, capabilities);

Вышеуказанное также не работает. Я проверил хром-драйвер JsonWireProtocol: http://code.google.com/p/selenium/wiki/JsonWireProtocol

Протокол хром-дайвера обеспечивает способ максимизации окна:

/session/:sessionId/window/:windowHandle/maximize,

но эта команда не используется в selenium-java. Это означает, что вы также отправляете команду chrome самостоятельно. Как только я это сделал, он работает.

Ответ 25

Драйвер Chrome уже поддерживает:

Java:

webDriver = new ChromeDriver();
webDriver.manage().window().maximize();