Angularjs应用程序无法在由chromedriver 75及更高版本启动的chrome 76上正确加载用户界面

时间:2019-08-29 16:29:14

标签: angularjs selenium selenium-chromedriver

使用chromedriver通过硒在chrome上打开Angularjs应用程序。尝试单击它不断向上和向下移动的按钮,这使得无法单击,并且硒无法单击,因为该应用程序在屏幕上弹跳。 但是,尝试使用手动启动的chrome浏览器复制相同内容的操作永远不会发生。 通过chrome驱动程序打开浏览器,并手动启动angularjs应用程序,UI不断弹跳。 这意味着该问题仅在由chrome驱动程序启动的浏览器中发生。

尝试使用较旧的chromedriver和chrome,这不会发生。仅在chromedriver的更高版本(即76及更高版本)中发生。 Angularjs版本1.7.2 本地chrome可以正常运行。

我使用以下代码启动chrome的基本方法,仍然没有运气

var driver = new ChromeDriver();

由于chrome浏览器的行为仅在通过chromedriver启动时有所不同,因此启动本地chrome也没有问题。我尝试启动chrome,因为它会手动启动。

var options = new ChromeOptions() { AcceptInsecureCertificates = true };
            options.AddArguments($"user-data-dir=/Users/{Environment.UserName}/AppData/Local/Google/Chrome/User Data");
            var driver = new ChromeDriver(options);

使用本地配置文件用户数据的方法在本地计算机上运行时确实有所帮助,但是在远程计算机上运行时,它再次失败,并且由于用户数据文件夹已被用户使用,因此您无法启动两个浏览器一次只能使用一个浏览器,仅具有一个chrome浏览器并且不具有多线程功能是不可能的。

最新的chromedriver版本76是w3c投诉,因此与使用较旧的chromedriver相比,使用更高版本的效果更好。

关于为什么只有chromedriver启动的chrome会发生这种情况的任何建议或见解。将不胜感激,并且仅在角度应用时才会发生。

0 个答案:

没有答案