当前位置: 首页 > 知识库问答 >
问题:

Selenium网格:如何使用RemoteWebDriver和ChromeDriver最大化浏览器窗口

韦睿
2023-03-14

我想知道如何使用最流行的浏览器使用Selenium网格和RemoteWebDriver来最大化浏览器窗口。

这个问题在这个社区中还没有解决,还有一个问题可能是这样的:我如何使用C#最大化Selenium WebDriver(Selenium 2)中的浏览器窗口?但是在这个问题上并不清楚如何在RemoteWebDriver中最大化浏览器窗口。

在Firefox和IE上,我想是以同样的方式driver.manage().window().maximite();

在Chrome中,我们必须做到:

ChromeOptions选项=新建ChromeOptions();Options.AddArgument(“--start-maximized”);driver=新ChromeDriver(options);

问题是如何将其应用于RemoteWebDriver?

共有1个答案

颜杰
2023-03-14

如果我正确理解你的问题,你想知道如何将驱动程序选项传递给远程驱动程序。在这种情况下,如果你正在创建驱动程序对象,你需要创建所需的功能,并使用远程驱动程序的一个构造函数和capability参数。例如:

DesiredCapabilities capabilities = DesiredCapabilities.chrome();

ChromeOptions options = new ChromeOptions(); 
options.addArguments("--start-maximized"); 

capabilities.setCapability(ChromeOptions.CAPABILITY, options);

driver = new RemoteWebDriver(URL, capabilities);
//driver = new ChromeDriver(capabilities);

您还可以使用QAF,其中抽象驱动程序的配置和管理外码。您可以在其中使用属性设置驱动程序功能。作为替代,您也可以使用驱动程序监听器来实现这种目的。例如:

使用属性:

以下两个属性将满足chrome驱动程序的需要:

drive.name=chromeDriver
chrome.additional.capabilities={"chromeOptions":{"args":["--start-maximized"]}}

对于远程驱动程序:

remote.server=<remote server or grid url>
drive.name=chromeRemoteDriver
chrome.additional.capabilities={"chromeOptions":{"args":["--start-maximized"]}}

使用侦听器:

void beforeInitialize(Capabilities capabilities){
    if(capabilities.getBrowserName().equalIgnorCase("chrome"){
        ChromeOptions options = new ChromeOptions(); 
        options.addArguments("--start-maximized"); 
        ((DesiredCapabilities)capabilities).setCapability(ChromeOptions.CAPABILITY, options);
    }
}

void onInitialize(QAFExtendedWebDriver driver){
   //for browser other than chrome...
   driver.manage().window().maximize();
}
 类似资料:
  • 问题内容: 有什么方法可以将WebDriver(Selenium 2)与C#结合使用来最大化浏览器窗口? 问题答案: 将此功能添加到WebDriver时存在一个突出的问题,可以在此处进行跟踪:http : //code.google.com/p/selenium/issues/detail? id=174 一种解决方法是使用以下方法:

  • 我有一个用Java编写的应用程序,可以在特定网站上创建电子邮件帐户。由于某些原因,我需要在不同的windows用户帐户下运行程序的每个迭代。 我正在使用SeleniumGrid(RemoteWebDriver)从集线器服务器连接到远程服务器(Grid)。 假设我在远程windows服务器上设置了多个windows用户帐户(如“account639”、“account729”、“account889

  • 窗口不最大化问题只发生在网格节点中。我们尝试了不同的方法来解决它,如下所示,但没有任何效果''Dimension Dimension=new Dimension(1920,1080)driver.manage().window().setsize(Dimension);driver.manage().window().maximate()options.AddArguments(“--window

  • 我突然遇到了硒和铬驱动的错误问题。我还没有改变一件事,但我遇到了这些错误信息。这个脚本在几个小时前就开始工作了,现在没有任何调整,它不工作了。 这是我对应的代码: 更奇怪的是,当打开新终端、加载python并从selenium import webdriver中键入时,我没有收到任何错误。但是,当我导航到脚本所在的文件夹,并从selenium import webdriver加载python和类型

  • 我们正在使用Selenium和Java来自动化我们的Web应用程序。我们有工作代码可以在Windows操作系统上运行三种浏览器(即Chrome,Firefox-最新版本)的自动测试脚本。 我们已经得到了在MAC操作系统--Safari浏览器上运行自动化测试脚本的需求。 环境详细信息: MAC OS版本:macOS Sierra版本10.12.5 Safari浏览器版本:10.1.1(12603.2

  • 问题内容: 我们正在针对现有代码库运行Selenium回归测试,并且Web应用程序中的某些屏幕使用弹出窗口作为中间步骤。 当前,我们在测试中使用以下命令: … 大多数情况下都可以使用 。偶尔测试将失败在与线 谁能建议一种更好,更 可靠的 方法? 另外,我们主要在IE6和7上运行这些测试。 问题答案: 有用!!只是为了让那些喜欢硒的人们更容易。 这对我使用IE7(正常模式)有效。 真是个令人毛骨悚然