【问题标题】:ChromeDriver support for clicking when zoom is not 100%ChromeDriver 支持在缩放不是 100% 时单击
【发布时间】:2018-02-27 14:13:57
【问题描述】:

我在 Windows 上使用 chromedriver。当浏览器中的缩放级别设置为不同于 100% element.click() 时,可能无法正常工作。它不是单击指定元素,而是单击另一个元素(可能位于原始元素处于 100% 缩放的位置)。就我而言,我无法控制浏览器的缩放级别。因此,不能像下面的 GIF 那样将其设置回 100%。

我知道这是IEDriver 的限制:

浏览器缩放级别必须设置为 100%

但是 chromedriver website 没有明确提到这一点。我想知道这是一个已知的限制还是一个错误?

有什么解决方法吗?

这是一个演示问题的 gif: 演示页面和脚本是here

更新:

  • Chrome 版本:60.0.3112.113(官方版本)(32 位)
  • chromedriver 版本:2.32.498550(9dec58e66c31bcc53a9ce3c7226f0c1c5810906a)

【问题讨论】:

  • 我认为这是可能的。 Selenium 计算元素的中心点,然后点击中心点。当缩放不是 100% 时,Selenium 可以在缩放 100% 下获得中心点值。我认为您可以编写脚本来证明我的猜测是否正确,方法是使用缩放 100% 而不是 100% 的元素的左上角位置来查看它们是否相同。如果相同,这是 Web 驱动程序需要考虑的问题/功能。
  • 能否展示一下实现代码并确保 Webelement 没有被缓存。当我们找到元素并同时执行点击时,我认为 selenium 没有问题。
  • @TonyBui 我的实现:return driver.findElement(By.id('box-'+id)).click(); 我相信它不会缓存元素。有关更多详细信息,请参阅我上面链接的要点。
  • chromedriver和chrome浏览器的版本是多少?
  • @ChandaKorat 请查看上面的更新

标签: javascript selenium webdriver selenium-chromedriver


【解决方案1】:

这是一个已知的issue,并在 chromedriver 错误跟踪器中进行跟踪。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-24
    • 2018-10-12
    相关资源
    最近更新 更多