【问题标题】:Is that good to use driver.manage().window().maximize() in selenium for every time we invoke browser每次调用浏览器时在 selenium 中使用 driver.manage().window().maximize() 好不好
【发布时间】:2016-04-25 06:56:16
【问题描述】:

我们使用driver.manage().window().maximize(); 来最大化浏览器。

我在网上看到过几个使用driver.manage().window().maximize() 的示例,尽管不需要最大化浏览器。 (例如:gmail 登录)

我还在使用 selenium 调用浏览器时看到它仅在最大化窗口中打开。我还是得用这个driver.manage().window().maximize();

【问题讨论】:

  • 这不仅不起作用,它还阻止了其余的 java 代码执行。

标签: java selenium selenium-webdriver automation selenium-firefoxdriver


【解决方案1】:

简短回答:是的。

稍微长一点的答案:当 selenium 与网页交互时,例如单击按钮或写入文本字段,交互的 WebElement 必须可见,否则会出现异常。如果您认为性能调用一次window().maximize() 比每次滚动到WebElement 更“便宜”(而且更不容易出错)。

您以 Gmail 登录为例,但通常您需要做的不仅仅是登录测试项目。

顺便说一句

我还在使用 selenium 调用浏览器时看到它仅在最大化窗口中打开

不是真的。

【讨论】:

    【解决方案2】:

    这取决于您的选择。如果窗口未最大化,您可能无法在页面上找到元素。所以如果你需要这样的元素,那么最大化窗口是值得的。

    【讨论】:

      【解决方案3】:

      正如 [pratapvaibhav19] 所说,这完全取决于您的选择。 有不同的方法可以做到这一点,您可以打开最大化的 Chrome 窗口。对于 Firefox 和 IE,您可以使用 driver.manage().window().maximize();。或者,您可以根据您的屏幕分辨率或自定义大小打开浏览器窗口。

      【讨论】:

      • @NickQ 恐怕我不同意你的看法。我刚刚在 Chrome 上执行了我的脚本(在最大化浏览器窗口的情况下正常工作),而没有最大化浏览器窗口。但它没有用。我检查了几次,但每次都抛出 TargetInvocationException。因此,恐怕您所说的适用于所有情况。
      【解决方案4】:

      不必必须最大化窗口。 Selenium 可以在任何屏幕分辨率下与浏览器交互,因为它不像桌面自动化工具那样使用鼠标或键盘。

      在更大的浏览器窗口上查看网页和截屏更容易。

      【讨论】:

        猜你喜欢
        • 2018-04-18
        • 1970-01-01
        • 2018-07-23
        • 2018-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-16
        • 2021-09-14
        相关资源
        最近更新 更多