Есть ли способ выполнить wait.Until
путем какого-либо поиска элемента из другого элемента, а не из всего драйвера?
пример:
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeoutInSec));
IWebElement element = wait.Until(ExpectedConditions.ElementExists(by));
Я не могу изменить 'by'
, чтобы он был слишком конкретным, и когда он ищется в драйвере и получает неправильный элемент.
IWebElement element = wait.Until(drv => drv.FindElement(by));
эта опция также ищет под driver
.
Я хочу что-то вроде этого:
public static IWebElement WaitElement(this IWebElement webElement, IWebDriver driver, By by, int timeoutInSec = 5)
{
try
{
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeoutInSec));
IWebElement element = wait.Until(webElement.FindElement(by));
}
Когда я пытаюсь написать этот код, я получаю эту ошибку:
введите описание изображения здесь