24

我正在使用Selenium 遥控器。在执行测试期间,实际的 Firefox 窗口非常小。我想要它全屏,所以我可以看到发生了什么。如何最大化浏览器屏幕?

4

9 回答 9

36

试试 windowMaximize 命令:

selenium.windowMaximize();

您还可以使用以下命令设置特定的宽度和高度:

selenium.getEval("window.resizeTo(X, Y); window.moveTo(0,0);")

其中 X 是宽度,Y 是高度。

于 2009-10-06T08:44:15.533 回答
26

这对我有用。所有其他解决方案在 FF7 中都不起作用。

WebDriver driver = ((WebDriverBackedSelenium) selenium).getWrappedDriver();
driver.manage().window().setPosition(new Point(0, 0));
driver.manage().window().setSize(new Dimension(1920, 1080));
于 2011-12-09T04:15:25.037 回答
5

您可以执行以下操作:

page.driver.browser.manage.window.maximize
于 2013-06-06T22:27:41.790 回答
4

硒 2.31.0

driver = webdriver.Firefox()

# Resize the window to the screen width/height
driver.set_window_size(300, 500)

# Move the window to position x/y
driver.set_window_position(200, 200)
于 2013-03-14T16:43:39.633 回答
2

将-singlewindow参数传递给 Selenium RC 服务器时,提供的答案均无效。但是,如果您将 firefox 配置文件传递给 Selenium RC 服务器(此处有些详细说明),您可以创建一个空的配置文件文件夹并将此文件放入文件夹中:

localstore.rdf (区分大小写的文件名!)

<?xml version="1.0"?>
<RDF:RDF xmlns:NC="http://home.netscape.com/NC-rdf#"
         xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
  <RDF:Description RDF:about="chrome://browser/content/browser.xul#main-window"
                   sizemode="normal"
                   height="9999"
                   width="9999"
                   screenX="0"
                   screenY="0" />
                   lastSelected="paneTabs" />
  <RDF:Description RDF:about="chrome://browser/content/browser.xul">
    <NC:persist RDF:resource="chrome://browser/content/browser.xul#main-window"/>
    <NC:persist RDF:resource="chrome://browser/content/browser.xul#PersonalToolbar"/>
    <NC:persist RDF:resource="chrome://browser/content/browser.xul#nav-bar"/>
    <NC:persist RDF:resource="chrome://browser/content/browser.xul#status-bar"/>
    <NC:persist RDF:resource="chrome://browser/content/browser.xul#toggle_taskbar"/>
    <NC:persist RDF:resource="chrome://browser/content/browser.xul#navigator-toolbox"/>
    <NC:persist RDF:resource="chrome://browser/content/browser.xul#toolbar-menubar"/>
    <NC:persist RDF:resource="chrome://browser/content/browser.xul#sidebar-box"/>
    <NC:persist RDF:resource="chrome://browser/content/browser.xul#sidebar-title"/>
  </RDF:Description>
</RDF:RDF>

用您喜欢的宽度和高度替换宽度和高度。9999x9999 几乎可以最大化任何显示器。

以这种方式运行 Selenium RC 服务器的最简单示例,假设我们的主目录中有前面提到的localstore.rdf,并且我们当前位于 Selenium RC 服务器的目录中:

rm -rf ~/ffProfile
mkdir ~/ffProfile
cp localstore.rdf ~/ffProfile
java -jar selenium-server-*.jar -singlewindow -firefoxProfileTemplate "~/ffProfile"

这还具有不“污染”您的测试的额外好处。

于 2012-03-02T15:26:01.997 回答
2

对于 Firefox:sel.key_press_native(122)(122 在 F11 的键码中)

于 2010-10-03T10:28:20.737 回答
2

好吧,我认为最好的方法是使用selenium.windowMaximize()硒函数而不是操纵窗口大小。

于 2011-03-12T18:44:10.817 回答
1

要扩展 David Hunt 关于更具体的窗口大小调整和移动的建议,请注意以下内容。

要在大多数环境中工作,请在调整大小之前移动。那是:

selenium.getEval("window.moveTo(X, Y); window.resizeTo(X, Y);")

要覆盖 2/3 的屏幕,这对于查看下面的硒驱动窗口的一部分很方便,并且无论您的目标屏幕分辨率如何,都要这样做:

selenium.getEval("window.moveTo(screen.availWidth / 3,0); window.resizeTo(screen.availWidth * (2/3), screen.availHeight); ");

于 2011-08-01T04:08:42.593 回答
0

在红宝石中,调用将是

web_driver.manage.window.maximize

于 2015-05-04T20:54:23.897 回答