【问题标题】:Selenium WebDriver Shamelessly Returns Incorrect Height of WebElementSelenium WebDriver 无耻地返回不正确的 WebElement 高度
【发布时间】:2020-12-18 21:54:55
【问题描述】:

我正在尝试使用 Selenium Firefox WebDriver 在此页面上捕获 WebElement:.//*[@id='aplus']/div 的快照:https://www.amazon.com/dp/B07G9RZD14

当我使用 Chrome 检查元素时,我得到以下尺寸:979.2 by 1961.6

但是,当调用 element.getSize().getWidth()element.getSize().getHeight() 时,我得到 979(宽度)和 1461(高度)。因此宽度与 Chrome Inspector 检索到的值相匹配,但高度相差数百点(准确地说是 500)。 WebDriver 会返回错误的高度,而不会为此感到羞耻。

此外,当我截取实际元素的屏幕截图时,似乎元素的部分 height 实际上并未被捕获,因此 Chrome 返回的值似乎是正确的。

我尝试按照this thread 通过getAttribute()JS 的建议检索“自然高度和宽度”,但在这两种情况下它都只返回NULL

为什么 WebDriver 返回错误的高度,我怎样才能让它返回正确的值?

谢谢

【问题讨论】:

  • 您能否发布您的代码以尝试获取大小。

标签: java selenium selenium-webdriver firefox webdriver


【解决方案1】:

我进一步调查了这个现象,结果发现浏览器的大小不是这个问题的原因。我总是以最大化模式运行浏览器。事实证明,HTML 代码中有一个“扩展器”函数,它会导致元素在滚动到视图后增长。这是如何工作的 the subject a new question 我在 SO 上发布。

【讨论】:

    【解决方案2】:

    这是因为当你检查 div 时,你的浏览器有一个固定的维度,而当你运行测试时有一个不同的维度。尝试在全屏模式下检查尺寸,并在浏览器设置为全屏的情况下运行测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-17
      • 1970-01-01
      • 2017-09-09
      • 1970-01-01
      • 2012-08-19
      • 1970-01-01
      • 1970-01-01
      • 2020-10-22
      相关资源
      最近更新 更多