首页 > 解决方案 > C# PhantomJS 驱动程序阻止 Angular 应用程序加载

问题描述

我在登录表单的自动化脚本中使用 NuGet 2.1.1 版本的 PhantomJS 驱动程序,看起来 PhantomJS 驱动程序正在阻止<app-root>加载。自动化脚本使用 ChromeDriver 可以正常工作,但使用 PhantomJS 会中断。成功将用户名提交到表单后,我被带到一个新屏幕输入密码。这是 PhantomJS 驱动程序挂起和超时的地方。无论我等待多长时间(1 分钟 - 5 分钟),角度应用程序都不会加载,并且驱动程序最终会超时。

这是片段:

var userNameInput = wait.Until<IWebElement>((d) => {
   return d.FindElement(By.Id("name"));
});

userNameInput.SendKeys(USERNAME);

var nextButton = driver.FindElement(By.XPath("//button[contains(text(),'Next')]"));
nextButton.Click();

wait.Until(x =>
   x.FindElements(By.XPath("//input[@id='userPassword']")).Count > 0);

驱动程序在等待//input[@id='userPassword']时超时,错误时的屏幕截图是空白页。

是否有一些PhantomJSOptions或我缺少的配置。有没有人遇到过类似的问题?

标签: c#seleniumselenium-webdriverphantomjs

解决方案


推荐阅读