Я написал фрагмент кода для входа в приложение, которое работает нормально. Теперь мне нужно нажать кнопку «Добавить», и я попробовал ее с помощью Id, XPath
, ClassName
, но это просто дает мне исключение, что элемент не найден. Я думал, что должен применить явное ожидание, но это также не сработало. Пожалуйста, проверьте мой код ниже:Элемент не найден - Selenium
public static void Login()
{
Browser.Url = "http://example.com";
_username = Browser.FindElement(By.Id("UserName"));
var password = Browser.FindElement(By.Id("Password"));
var loginbtn = Browser.FindElement(By.ClassName("btn-primary"));
_username.SendKeys("admin");
password.SendKeys("123");
loginbtn.Click();
var supplierTab = Browser.FindElement(By.Id("mainSupplier"));
supplierTab.Click();
WebDriverWait wait = new WebDriverWait(Browser, TimeSpan.FromSeconds(20));
IWebElement myDynamicElement = wait.Until<IWebElement>((d) =>
{
try
{
return d.FindElement(By.Id("btnAddSupplier_SupplierForm"));
}
catch
{
return null;
}
});
var addbtn = Browser.FindElement(By.Id("btnAddSupplier_SupplierForm"));
addbtn.Click();
}
Это всегда дает исключение на второй последней строке кода, что элемент не найден.
Вот HTML:
'var addbtn = Browser.FindElement (By.Id (" btnAddSupplier_SupplierForm "));' получение ошибки в этой строке кода. – asma
Итак, он ждет '20s', а затем перерыв? – Saifur
Да, он ждет, а затем показывает тайм-аут. – asma