在selenium自动化过程中,chrome能否知道前面是否有一个最大化的窗口?

在selenium自动化过程中,chrome能否知道前面是否有一个最大化的窗口?,selenium,perl,google-chrome,selenium-chromedriver,Selenium,Perl,Google Chrome,Selenium Chromedriver,我正面临着一个非常恼人的问题,试图对一个项目进行现场测试 这些测试需要填写多张表格 我有以下几种情况: 我启动脚本,chromedriver被打开并最大化。脚本运行时,我将注意力集中在页面上。我顺利通过了整个考试 我启动脚本,chromedriver被打开并最大化。现在我在前面放了一个窗口,但是这个窗口没有最大化,所以我可以在后台看到脚本是如何填充表单的,但是我的窗口是另一个窗口。我顺利地通过了整个考试 我启动脚本,chromedriver被打开并最大化。现在我把另一个窗口放在前面,但这次窗口最

我正面临着一个非常恼人的问题,试图对一个项目进行现场测试

这些测试需要填写多张表格

我有以下几种情况

  • 我启动脚本,chromedriver被打开并最大化。脚本运行时,我将注意力集中在页面上。我顺利通过了整个考试
  • 我启动脚本,chromedriver被打开并最大化。现在我在前面放了一个窗口,但是这个窗口没有最大化,所以我可以在后台看到脚本是如何填充表单的,但是我的窗口是另一个窗口。我顺利地通过了整个考试
  • 我启动脚本,chromedriver被打开并最大化。现在我把另一个窗口放在前面,但这次窗口最大化了,我看不到背景中的脚本。现在我可以浏览一些表单,但其中一个表单被卡住了,无法打开一些选择框或编写文本
  • 我检查/观察到的事情

  • 我想不出发生这种事的逻辑原因。如果我在firefox中使用geckdriver运行相同的3个步骤,它们总是可以工作的
  • 我观察到,当我从顶部的最大化窗口切换到chrome时,我似乎在一些ms中发现了一个灰色页面,因为它尚未呈现,我能够通过记录屏幕来制作此屏幕截图:
  • 环境

  • 我将perl与
    Selenium::Chrome
    以及
    ChromeDriver 87.0.4280.20一起使用
  • 正在测试的站点是基于JSF构建的,开发人员没有包括任何特定的焦点需求
  • 这将始终使用步骤3中描述的过程
  • 假设: 不知何故,chrome知道是否在屏幕上可见,然后它在DOM中加载的元素的行为会发生变化?我仍然可以看到使用selenium的find元素,但它在单击时的行为并不像预期的那样工作

    此外,在我面临这个问题的一个步骤中,有一个按钮可以用于:

    $driver->execute_script("arguments[0].click()", $element);
    
    但不是用

    $element->click()