Есть ли способ передать имя IWebElement в качестве параметра для Wait вместо локатора (используя Id, Xpath и т. Д.)?
Я пытаюсь написать некоторый код, используя объектную модель страницы, и я уже определил элементы в классе POM следующим образом:
class MyTestPagePom
{
private IWebDriver driver;
//Locators
[FindsBy(How =How.Id, Using = "Questions[0].Answers[0].Id")]
public IWebElement MyTestElement1 { get; set; }
}
Теперь у меня есть метод ожидания, который делает следующее:
public static void HandleWait(IWebDriver driver, By ElementIdentified, int TimeoutInSeconds)
{
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(TimeoutInSeconds));
wait.Until(drv => drv.FindElement(ElementIdentified).Displayed);
}
Метод называется так:
HandleWait(driver, By.Id("Questions[0].Answers[0].Id"), 30);
Есть ли способ, которым я могу передать имя IWebElement в качестве параметра методу ожидания, чтобы мне больше не приходилось передавать Id при вызове метода?
Я искал решения и не мог их найти. Извиняюсь, если есть решение, которое я пропустил. Я новичок в C # и Selenium, поэтому любая помощь будет принята с благодарностью. Спасибо