tutorial español c# selenium selenium-webdriver

c# - español - selenium webdriver firefox



¿Cómo maximizar la ventana del navegador en Selenium WebDriver(Selenium 2) usando C#? (27)

Java

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

Pitón

driver.maximize_window()

Rubí

@driver.manage.window.maximize

O

max_width, max_height = driver.execute_script("return [window.screen.availWidth, window.screen.availHeight];") @driver.manage.window.resize_to(max_width, max_height)

O

target_size = Selenium::WebDriver::Dimension.new(1600, 1268) @driver.manage.window.size = target_size

¿Hay alguna manera de maximizar la ventana del navegador usando WebDriver (Selenium 2) con C #?


A través del siguiente código, puedo maximizar la ventana,

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


Controlador Chrome ya es compatible:

Java:

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


El siguiente fragmento de código de Selenium Java funcionó para mí:

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);


Esta opción está bien para mí:

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

Esta opción funciona en todos los sistemas operativos.


Esto es lo que funcionó para mí en C #, firefoxDriver es global para la clase:

en los usos:

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

en el código:

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);


Esto está funcionando bien para mí.

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


Hay un problema pendiente para agregar esta funcionalidad a WebDriver, que se puede rastrear aquí: http://code.google.com/p/selenium/issues/detail?id=174

Una solución alternativa sería usar el JavascriptExector siguiente manera:

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


Hay una función que puede usar para maximizar la ventana en Python que es window_maximize (). Y así es como lo estoy usando. Espero que esto ayude -

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


Hemos observado errores con nuevas bibliotecas de controladores. Puede utilizar jarras ligeramente antiguas que son capaces de manejar nuevas versiones de navegadores.

La principal opción genérica es:

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

También puede usar otra opción para maximizar la ventana del navegador.

Ejemplo:-

Agregue la opción siguiente y páselo al controlador: -

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

El código completo se verá a continuación:

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

O

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");

Prueba esto en safari: -

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);


Intenté muchas de las respuestas anteriores, pero ninguna funciona bien. Mi versión del controlador de Chrome es 2.7 e Iam usa selenium-java vesion es 2.9.0. El documento oficial sugiere usar:

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

Lo anterior tampoco funciona. JsonWireProtocol controlador de Chrome JsonWireProtocol : http://code.google.com/p/selenium/wiki/JsonWireProtocol

El protocolo de buceo cromado proporciona un método para maximizar la ventana:

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

pero este comando no se usa en selenio-java. Esto significa que también envía el comando para cromarse. Una vez que hice esto, funciona.


La siguiente línea de código maximizaría IE, Chrome y Mozilla

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

La línea de código anterior y otras soluciones temporales mencionadas en la publicación no funcionaban para el navegador NodeWebKit, así que como solución tuve que usar el código C # nativo como se menciona a continuación:

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); }

Así que esta solución básicamente utiliza "ALT + SPACE" para mostrar el menú de acción del navegador para seleccionar "MAXIMIZAR" de las opciones y presionar "ENTER"


Para C #:

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

Para Java:

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


Para IE y Firefox:

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

Para Chrome:

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


Para Java:

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

Funcionará en IE, Mozilla, Chrome


Para Webdriverjs (node.js), lo siguiente maximiza la ventana de Chrome.

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


Para mí, ninguna de las soluciones anteriores funcionó al trabajar con Selenium Web Driver C # + Chrome:

  • window.resizeTo (1024, 768); - Quiero usar toda la pantalla
  • --start-maximized - se ignora
  • driver.manage (). window (). maximize (); - no funciona porque requiere alguna extensión y no tengo permiso para usar extensiones de Chrome

InputSimulator hacerlo funcionar usando InputSimulator :

var inputSim = new InputSimulator(); // WinKey + UP = Maximize focused window inputSim.Keyboard.ModifiedKeyStroke(VirtualKeyCode.LWIN, VirtualKeyCode.UP);


Puedes usar Selenium Emulation en WebDriver:

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


Puedes usar algo como esto (C #):

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


Si está utilizando el controlador de Chrome, puede configurar las capacidades

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


Simplemente use el comando Window.Maximize()

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


Tuve el mismo problema, pero el problema se puede resolver usando el siguiente código.

driver.manage().window().fullscreen();


Usé esta solución

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);


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

Esto funciona para IE y Firefox. Chrome no funciona. Hay un error enviado para esto en el proyecto ChromeDriver.

Mientras tanto, la solución para el Chrome es implementar lo que Joey V. y Coder323 sugirieron.

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


Controladores de cliente C #:

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);

===> también agrega una referencia al ensamblado .NET "System.Windows.Forms"

... el único problema es que no está colocado correctamente
... por favor coméntanos si puedes corregir esto


Maximice el navegador con C # (.NET):

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

Maximice el navegador con Java:

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

Otra forma de hacer con Java:

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


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

Usé el código de Jim, pero ligeramente modificado para usarlo con WatiN y C # para maximizar el navegador.