Текстовое значение элемента Selnium, где объект By фактически ищется text () - PullRequest
1 голос
/ 20 апреля 2020

Рассмотрите этот код, пожалуйста:

        By byCheckAll = By.XPath("//span[text()='Check all']"); 
        IWebElement thingy = BrowserWindow.Instance.Driver.FindElement(byCheckAll);

Когда я устраняю проблему, я вижу, что свойство Text элемента thingy является пустой строкой:

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

Я смотрю на то, почему элемент не взаимодействует, и замечаю это, поэтому мне интересно, какой элемент даже обнаруживается.

Я не вижу, как искать элемент за текстом, не получающий ошибку и имеющий пустой текст может произойти. Пожалуйста, объясни. СПАСИБО!

РЕДАКТИРОВАТЬ: трудно определить, сколько кода / информации имеет отношение к вопросу. Поэтому я добавляю это в ответ на комментарии.

Рассматриваемый метод таков:

        public void CheckAll()
    {
        ClickButtonToDrop();
        By byRootDiv = By.XPath("//div[starts-with(@class, 'ui-multiselect-menu')]");
        var webElements = BrowserWindow.Instance.Driver.FindElements(byRootDiv);
        IWebElement rootElement = null;
        foreach (var webElement in webElements)
        {
            if (webElement.Displayed)
            {
                rootElement = webElement;
                BrowserWindow.Instance.HighlightElement(webElement);

            }

        }


        Element clickAllLink = new Element(rootElement, By.ClassName("ui-multiselect-all"));
        //By byCheckAll = By.XPath("//span[text()='Check All']/parent::div[@tag='a']"); // get the span, then the parent link
        By byCheckAll = By.XPath("//span[text()='Check all']"); // get the span, then the parent link
        IWebElement thingy = rootElement.FindElement(byCheckAll);

        //clickAllLink.Highlight();
        //clickAllLink.Click();

    }

rootElement - это div, в котором живет вещь IWebElement.

HTML выделенного DIV -

Отметить все Снять все Посетить Регистрация

То же самое HTML как показано в Chrome инструментах разработчика с выделенным div (метод выделения в приведенном выше коде)

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

Нет ошибок Точка, в которой установлен вещь, где находится точка останова, где я установил точку останова, и я установил точку останова для получения информации на снимке экрана окна наблюдения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...