我无法在Angular8项目中单击图形图标。
答案 0 :(得分:0)
您使用的XPath可能遇到问题。我建议使用一种直接在按钮元素上查询的内容:
NgWebElement GraphIcon = ngDriver.FindElement(By.XPath("//button[contains(@class, 'btnItems') and *[contains(@class, 'fa-line-chart')]]"));
答案 1 :(得分:0)
您得到的异常OpenQA.Selenium.WebDriverTimeoutException
发生在您的等待方法NgWebDriver.WaitForAngular()
中。这表明WebDriver正在等待某些东西出现/可点击/等,但未达到等待时间限制。
只需从HTML的结构和类名中进行猜测,您尝试单击的元素就可以是其中之一;
我建议您尝试单击父元素,或者查看是否应单击另一个子元素。如果失败,您也可以尝试使用JavascriptExecutor单击
:public void ClickUsingJquery(string selector) {
string script = String.Format("jQuery(\"{0}\").click();", selector);
TestContext.WriteLine("Script to execute: " + script);
var javaScriptExecutor = this.driver as IJavaScriptExecutor;
javaScriptExecutor?.ExecuteScript(script);
}
(用任何选择您喜欢的元素的方式替换getElementById('{elementId}').click()
和selector
参数)。