Не удалось получить текст всплывающей подсказки с помощью Selenium WebDriver - PullRequest
1 голос
/ 05 января 2012

У меня есть 5 всплывающих подсказок на странице. С помощью WebDriver я пытаюсь проверить текст всплывающей подсказки.

Я последовательно использую следующий код для получения текста всплывающей подсказки для всех 5 элементов:

Actions builder = new Actions(WebDriver);
builder.ClickAndHold(Element1).Perform();
Console.WriteLine(Element1ToolTip.text);

builder.ClickAndHold(Element2).Perform();
Console.WriteLine(Element2ToolTip.text);

builder.ClickAndHold(Element3).Perform();
Console.WriteLine(Element3ToolTip.text);

Проблема в том, что в консоли выводится только текст всплывающей подсказки первого элемента. Это потому, что мне нужно обновить или сбросить компоновщик?

Это действительно странно, когда я удаляю код для 1-го элемента, тогда я могу получить текст всплывающей подсказки 2-го элемента. Таким образом, по сути, он получает текст всплывающей подсказки только один раз за одно выполнение.

Ответы [ 4 ]

1 голос
/ 05 января 2012

Проверьте подсказку, сравнив атрибут «title» веб-элемента и ожидаемый текст подсказки.

Console.WriteLine(Element1.GetAttribute("title"));

Console.WriteLine(Element2.GetAttribute("title"));
0 голосов
/ 23 марта 2016

Я столкнулся с той же проблемой, я проверил страницу источника представления при запуске теста, и кажется, что атрибут title отображается как data-original-title. Из-за этого он не может отобразить текст. При замене заголовок с данными-оригинал-заголовок. Я могу получить текст.

0 голосов
/ 30 октября 2012

Я думаю, его нужно освободить от элемента как:

builder.release(Element1).perform();

Итак, ваш код может быть таким, как показано ниже:

Actions builder = new Actions(WebDriver);
builder.ClickAndHold(Element1).Perform();
Console.WriteLine(Element1ToolTip.text);
builder.release(Element1).perform();

builder.ClickAndHold(Element2).Perform();
Console.WriteLine(Element2ToolTip.text);
builder.release(Element2).perform();

builder.ClickAndHold(Element3).Perform();
Console.WriteLine(Element3ToolTip.text);
builder.release(Element3).perform();
0 голосов
/ 07 января 2012

Текст всплывающей подсказки для элементов ввода будет атрибутами заголовка, а для изображений атрибут alt будет подсказкой. Это стандарт для HTML 4, поэтому я не уверен, что вам нужно делать указатель мыши и все. *

Console.WriteLine(InputElement1.GetAttribute("title"));
Console.WriteLine(ImageElement1.GetAttribute("alt"));

http://www.javascriptkit.com/howto/toolmsg.shtml

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