如何在C#中以窗口大小(1920、1080)运行无头Firefox?

问题描述 投票:0回答:4

如何在 C# 中以窗口大小(1920、1080)运行无头 Firefox?

FirefoxOptions firefoxOptions = new FirefoxOptions();
firefoxOptions.AddArguments("--headless");
firefoxOptions.AddArguments("--window-size=1920,1080");

FirefoxDriver firefoxDriver = new FirefoxDriver(firefoxOptions);

firefoxDriver.Manage().Window.Maximize();

firefoxDriver.Navigate().GoToUrl("https://www.google.com/");
var size = firefoxDriver.Manage().Window.Size; //{Width = 1366 Height = 768}

有什么建议吗?如何以全高清运行?我 需要在这里设置...

例如,chrome 可以正常工作:

ChromeOptions options = new ChromeOptions();
options.AddArguments("headless");
options.AddArguments("window-size=1920x1080");
c# selenium-webdriver firefox headless screen-size
4个回答
4
投票

我找到了:

firefoxOptions.AddArguments("-width=1920");
firefoxOptions.AddArguments("-height=1080");

但是如果你在代码中的某个地方调用这个:

webDriver.Manage().Window.Maximize();

然后设置为默认分辨率.. {宽度 = 1366 高度 = 768}


2
投票

创建驱动程序对象后尝试使用维度类。

Dimension d = new Dimension(1920,1080);
driver.manage().window().setSize(d);

0
投票

经过几次搜索,我可以在ubuntu上运行没有GUI的firefox,这里你可以尝试一下

# install Xvfb (X Virtual Frame Buffer) and related Fonts 
$ sudo apt-get install xvfb 
$ sudo apt-get install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic 

# Setup Display 
$ export DISPLAY=:1 

# run Xvfb in background, set screen resolution as HDMI (1920x1080, 24 dpi), run on display:1 
$ Xvfb :1 -screen 0 1920x1080x24 &

# Run firefox
firefox &

# OR
firefox --headless &

0
投票

<Chrome>

*

-window-size
window-size
也有效:

ChromeOptions options = new ChromeOptions();
options.AddArguments("--window-size=1920x1080");
ChromeDriver driver = new ChromeDriver(options);

*下面的代码也可以根据thd doc工作:

ChromeDriver driver = new ChromeDriver();
driver.Manage().Window.Size = new Size(1920, 1080);

<Microsoft Edge>

*

-window-size
window-size
也有效:

EdgeOptions options = new EdgeOptions();
options.AddArguments("--window-size=1920x1080");
EdgeDriver driver = new EdgeDriver(options);

*下面的代码也可以根据thd doc工作:

EdgeDriver driver = new EdgeDriver();
driver.Manage().Window.Size = new Size(1920, 1080);

<火狐>

*-width 和 -height 也可以工作,而

width
height
则不起作用:

FirefoxOptions options = new FirefoxOptions();
options.AddArguments("--width=1920");
options.AddArguments("--height=1080");
FirefoxDriver driver = new FirefoxDriver(options);

*下面的代码也可以根据thd doc工作:

FirefoxDriver driver = new FirefoxDriver();
driver.Manage().Window.Size = new Size(1920, 1080);
© www.soinside.com 2019 - 2024. All rights reserved.