Глядя на ваш код:
By transactionsTab = By.Id("menuItemImgBtnTransactions");
//driver.WaitForAngular(); // I use wait PageLoad,AsynchronousJavaScript waiters
driver.FindElement(transaction));
transaction.Click();
Вы определили свой локатор как transactionsTab
, но вы передаете transaction
в функцию FindElement()
. Не знаю, почему вы определяете локатор как переменную, но при использовании этой стратегии должно работать следующее:
By transactionsTab = By.Id("menuItemImgBtnTransactions");
//driver.WaitForAngular(); // I use wait PageLoad,AsynchronousJavaScript waiters
driver.FindElement(transactionsTab)).Click();
Вы также можете сделать это в одну строку:
driver.FindElement(By.Id(“menuItemImgBtnTransactions”)).Click();
Или, если вы хотите повторно использовать этот WebElement, я бы сделал это:
IWebElement transactions = driver.FindElement(By.Id(“menuItemImgBtnTransactions));
transactions.Click();
Вы можете делать все, что захотите, с элементом transactions
.