我正在使用Selenium WebDriver进行自动化,而我正在使用 Chromedriver 。
我注意到当我的驱动程序运行并打开Chrome浏览器时,它会以奇怪的大小打开浏览器。 我试图修复但是徒劳无功。
有人知道我该怎么改变它?
答案 0 :(得分:59)
我知道这是一个老线程,但上面没有为我工作。 我正在使用
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)
答案 1 :(得分:24)
将此用作自定义尺寸:
driver.manage().window().setSize(new Dimension(1024,768));
您可以根据自己的要求更改尺寸。
答案 2 :(得分:8)
试试这个
using System.Drawing;
driver.Manage().Window.Size = new Size(width, height);
答案 3 :(得分:8)
@ yonatan-kiron的答案的C#版本,以及他们的示例代码中的Selenium的using
声明。
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.AddArgument("--window-size=1300,1000");
using (IWebDriver driver = new ChromeDriver(chromeOptions))
{
...
}
答案 4 :(得分:6)
#use chrome webdriver
driver = webdriver.Chrome('path to /chromedriver')
driver.set_window_size(1400,1000)
答案 5 :(得分:4)
尝试使用driver.manage.window.maximize();
来最大化窗口。
答案 6 :(得分:1)
如果你正在使用Facebook语言绑定php试试这个:
$driver->manage()->window()->setSize(new WebDriverDimension(1024,768));
答案 7 :(得分:1)
红宝石
方法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);")
答案 8 :(得分:0)
在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 :(得分:0)
如果您使用的是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 :(得分:0)
使用Dimension Class
来控制窗口大小。
Dimension d = new Dimension(1200,800); //(x,y coordinators in pixels)
driver.manage().window().setSize(d);
答案 11 :(得分:0)
Ruby版本:
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)
resize chrome在最新的chromedrivers中是错误的,它会因此失败而间歇性地失败。
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)
并且通过javascript也不支持resizeTo通过selenium webdriver启动的chrome。所以最后一个选项是使用命令行开关。
答案 12 :(得分:0)
以下镀铬选项对我无头镀铬很有效:
在日语中:
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();
硒Java:3.8.1
chromedriver:2.43
Chrome浏览器:v69-71