web-dev-qa-db-fra.com

Comment contrôler la taille de la fenêtre ouverte de Chromedriver?

J'utilise Selenium WebDriver pour l'automatisation et j'utilise Chromedriver .

J'ai remarqué que lorsque mon pilote s'exécute et ouvre le navigateur Chrome, il ouvre le navigateur avec une taille étrange ... J'ai essayé de le réparer mais en vain.

Est-ce que quelqu'un sait comment puis-je le changer?

38
Nimrod_G

Je sais que c'est un vieux fil, mais aucun de ce qui précède n'a fonctionné pour moi . J'utilise

chrome = 57.0.2987.133
chromedriver = 2.27.440174

Et cela a fonctionné pour moi: 

from Selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument("--window-size=1920,1080")
driver = Chrome(chrome_options=chrome_options)
58
Yonatan Kiron

Utilisez ceci pour votre taille personnalisée:

driver.manage().window().setSize(new Dimension(1024,768));

vous pouvez modifier vos dimensions de la même manière que vos exigences.

24
nitin chawda

La version C # de la réponse de @ yonatan-kiron et l'instruction using de Selenium à partir de l'exemple de code.

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.AddArgument("--window-size=1300,1000");

using (IWebDriver driver = new ChromeDriver(chromeOptions))
{
    ...
}
8
goodeye

essayez ceci driver.Manage().Window.Size = new Size(width, height);

pour par exemple:

driver.Manage (). Window.Size = new Size (640, 480);

Cela réinitialisera la taille de votre fenêtre à une résolution de 640 x 480, barre de titre comprise. Toutefois, si votre site Web est mis en œuvre par bootstrap, seule une petite partie de la page s'affiche.

8
Varun Bajpai

#use chrome webdriver
driver = webdriver.Chrome('path to /chromedriver') driver.set_window_size(1400,1000)

6
ayoub laaziz

Essayez avec driver.manage.window.maximize(); pour maximiser la fenêtre.

4
TDHM

Si vous utilisez la liaison de langue Facebook pour php, essayez ceci: 

$driver->manage()->window()->setSize(new WebDriverDimension(1024,768));
1

Les options de chrome suivantes ont fonctionné pour moi pour le chrome sans tête:

EN Java:

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("--window-size=1920,1080");
chromeOptions.setHeadless(true);
driver = new ChromeDriver(chromeOptions);
driver.get("your-site");
driver.manage().window().maximize();

Sélénium-Java: 3.8.1

chromedriver: 2.43

Chrome: v69-71

0
B.Özmen

Si vous utilisez Clojure et https://github.com/semperos/clj-webdriver vous pouvez utiliser cet extrait pour redimensionner le navigateur.

(require '[clj-webdriver.taxi :as taxi])

; Open browser
(taxi/set-driver! {:browser :chrome} "about:blank")

; Resize browser
(-> taxi/*driver* (.webdriver) (.manage) (.window) 
  (.setSize (org.openqa.Selenium.Dimension. 0 0)))
0
Asim Jalis

Utilisez Dimension Class pour contrôler la taille de la fenêtre.

Dimension d = new Dimension(1200,800);  //(x,y coordinators in pixels) 
driver.manage().window().setSize(d);
0
Jainish Kapadia

Version rubis:

caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"args"=> ["--window-size=1280,960"]})

url = "http://localhost:9515"  # if you are using local chrome or url = Browserstack/ saucelabs hub url if you are using cloud service providers.

 Selenium::WebDriver.for(:remote, :url => url, :desired_capabilities => caps)

redimensionner chrome est défectueux dans les derniers lecteurs chromés, il échoue par intermittence avec ce message d'échec.

                        unknown error: cannot get automation extension
from timeout: cannot determine loading status
from timeout: Timed out receiving message from renderer: -65.294
  (Session info: chrome=56.0.2924.76)
  (Driver info: chromedriver=2.28.455517 (2c6d2707d8ea850c862f04ac066724273981e88f)

Et resizeTo via javascript également non pris en charge pour Chrome démarré via Selenium WebDriver. La dernière option utilisait donc des commutateurs de ligne de commande.

0
yeshwant singh

En Java/groovy, essayez:

import Java.awt.Toolkit;
import org.openqa.Selenium.Dimension;         
import org.openqa.Selenium.Point;

...

Java.awt.Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

Dimension maximizedScreenSize = new Dimension((int) screenSize.getWidth(), (int) screenSize.getHeight());
driver.manage().window().setPosition(new Point(0, 0));
driver.manage().window().setSize(maximizedScreenSize);

cela ouvrira le navigateur en plein écran

0
mackowski

Rubis


Approche n ° 1

options = {
      'chromeOptions' => {
          'args' => ['start-fullscreen']
      }
  }

caps = Selenium::WebDriver::Remote::Capabilities.chrome(options)
@driver = Selenium::WebDriver.for :chrome, desired_capabilities: caps

Approche n ° 2

options = {
      'chromeOptions' => {
          'args' => ['window-size=640,480']
      }
  }

caps = Selenium::WebDriver::Remote::Capabilities.chrome(options)
@driver = Selenium::WebDriver.for :chrome, desired_capabilities: caps

Approche # 3

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

Approche # 4

@driver.manage.window.maximize

Approche # 5

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

Approche # 6

@driver.manage.window.resize_to(640, 480)

Approche # 7

@driver.execute_script("window.resizeTo(640, 480);")
0
Prashanth Sams