Как я могу контролировать размер открытого окна Chromedriver?
Я использую Selenium WebDriver для автоматизации, и я использую Chromedriver.
Я заметил, что когда мой драйвер запускается и открывает браузер Chrome, он открывает браузер странным размером.
Я попытался исправить это, но тщетно.
Кто-нибудь знает, как я могу его изменить?
Ответы
Ответ 1
Я знаю, что это старая нить, но не все выше сказанное работало для меня.
Я использую
chrome = 57.0.2987.133
chromedriver = 2.27.440174
И это сработало для меня:
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--window-size=1920,1080")
driver = Chrome(chrome_options=chrome_options)
Ответ 2
Используйте это для своего нестандартного размера:
driver.manage().window().setSize(new Dimension(1024,768));
вы можете изменить свои размеры так же, как и ваши требования.
Ответ 3
попробуй это
using System.Drawing;
driver.Manage().Window.Size = new Size(width, height);
Ответ 4
Версия С# ответа @yonatan-kiron и инструкция Selenium using
из их кода примера.
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.AddArgument("--window-size=1300,1000");
using (IWebDriver driver = new ChromeDriver(chromeOptions))
{
...
}
Ответ 5
#use chrome webdriver
driver = webdriver.Chrome('path to /chromedriver')
driver.set_window_size(1400,1000)
Ответ 6
Попробуйте с driver.manage.window.maximize();
, чтобы увеличить окно.
Ответ 7
Если вы используете привязку к языку Facebook для php, попробуйте это:
$driver->manage()->window()->setSize(new WebDriverDimension(1024,768));
Ответ 8
В java/ groovy попробуйте:
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);
это откроет браузер в полноэкранном режиме
Ответ 9
Если вы используете Clojure и https://github.com/semperos/clj-webdriver, вы можете использовать этот фрагмент для изменения размера браузера.
(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)))
Ответ 10
Используйте Dimension Class
для управления размером окна.
Dimension d = new Dimension(1200,800); //(x,y coordinators in pixels)
driver.manage().window().setSize(d);
Ответ 11
Рубиновая версия:
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)
Изменить размер хрома в багги последних хромированных рекордов, он прерывается с этим сообщением об ошибке.
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)
И resizeTo через javascript также не поддерживается для chrome, запущенного через selenium webdriver. Таким образом, последний вариант - это использовать ключи командной строки.
Ответ 12
Следующие опции хрома помогли мне без хрома:
В ЯВА:
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();
селен-ява: 3.8.1
Хромедрайвер: 2,43
Хром: v69-71
Ответ 13
РУБИН
Подход № 1
options = {
'chromeOptions' => {
'args' => ['start-fullscreen']
}
}
caps = Selenium::WebDriver::Remote::Capabilities.chrome(options)
@driver = Selenium::WebDriver.for :chrome, desired_capabilities: caps
Подход № 2
options = {
'chromeOptions' => {
'args' => ['window-size=640,480']
}
}
caps = Selenium::WebDriver::Remote::Capabilities.chrome(options)
@driver = Selenium::WebDriver.for :chrome, desired_capabilities: caps
Подход № 3
max_width, max_height = @driver.execute_script("return [window.screen.availWidth, window.screen.availHeight];")
@driver.manage.window.resize_to(max_width, max_height)
Подход № 4
@driver.manage.window.maximize
Подход № 5
target_size = Selenium::WebDriver::Dimension.new(1600, 1268)
@driver.manage.window.size = target_size
Подход № 6
@driver.manage.window.resize_to(640, 480)
Подход № 7
@driver.execute_script("window.resizeTo(640, 480);")
Ответ 14
Используйте это:
driver.manage().window().setSize(new Dimension(1920,1080));