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.