这真的很烦人,还有人面对过这个问题吗?有解决办法吗?
Selenium chromedriver在启动时只偷了一次焦点。之后,您可以在后台运行浏览器,没有任何问题(我们是这样做的,使用ChromeDriver2.30,所以我相信它是有效的)
因此,您的web测试中可能有一些代码执行焦点窃取:
1)更改活动窗口或打开新窗口/新选项卡会导致焦点窃取。
我在使用html2canvas。js库,用于与selenium一起拍摄全页屏幕截图。 我保存了html2canvas。我的java项目的类路径中的js文件。我用来获取屏幕截图的java脚本代码是: 我能够捕获flipkart页面的全页屏幕截图,但其中没有任何图像。 我无法使用Chrome的TakeScreenshot实用程序,因为它不允许使用Chrome浏览器拍摄整页屏幕截图。
我的应用程序在单击按钮时打开一个新窗口,我需要在该窗口中执行一些操作。但是SeleniumWebDriver的响应getWindowHandles()方法中只有一个窗口id。如果在打开新窗口后调用getWindowHandles()时出现延迟,则会发生这种情况。硒有一个已知的问题。https://github.com/SeleniumHQ/selenium/wiki/InternetExplore
因此,我在一个react项目中使用selenium-webdriver运行selenium测试。每次我运行测试时,它都会打开一个新的chrome窗口,这非常令人恼火,因为我最终打开了一百万个chrome窗口。是否可能强制selenium使用已经打开的浏览器窗口? 编辑:这里有一个测试代码的简单示例。
如果我直接在docker中运行google-chrome,它会显示如下: 系统:
问题内容: 我的Java应用程序的摘录: 因此,它所做的就是使其自满屏。现在奇怪的是,该程序是全屏的,但只能在一台显示器上!例如,我有一个Windows Vista系统,其中两个屏幕组合在一个桌面上。如何自动让它在所有监视器上全屏显示? 好的,我尝试过: 但它给出: 例如,我希望能将2048x768的设备组合成一个设备(我单击“扩展桌面”)。 问题答案: 您可以尝试: 这应该计算多个屏幕的总宽度。
我在过去的一周里一直在处理这个问题,脑子里想不起来,所以我决定寻求帮助。我正在尝试使用Chromium 86构建在AWS Lambda中运行Selenium。我不断收到的错误消息如下: 以下是我的版本: 这是我的代码: 到目前为止我已经尝试过的事情: 尝试了各种运行时Python 3.6、3.7、3.8,但没有成功 尝试使用和不使用Lambda层。尝试使用Lambda逐层文件夹结构时相对简单: C