Как я могу ждать элемент из другого элемента в C # Selenium - PullRequest
0 голосов
/ 01 мая 2018

Есть ли способ выполнить 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));
        }

Когда я пытаюсь написать этот код, я получаю эту ошибку:

введите описание изображения здесь

...