【问题标题】:Not able to get tooltip text using Selenium WebDriver无法使用 Selenium WebDriver 获取工具提示文本
【发布时间】:2012-01-05 09:10:43
【问题描述】:

我在页面中有 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);

问题是我只得到控制台中打印的第一个元素的工具提示文本。 是因为我需要刷新或重置构建器吗?

当我删除第一个元素的代码时真的很奇怪,然后我可以得到第二个元素的工具提示文本。因此,基本上它在单次执行中只获取一次工具提示文本。

【问题讨论】:

  • 嗯,不确定这是否会有所帮助,但当您将鼠标悬停在工具提示上时不应该显示工具提示吗?也许点击是导致问题的原因?没有鼠标悬停/悬停动作吗?
  • 此问题记录在 WebDriver 下:code.google.com/p/selenium/issues/detail?id=2493

标签: selenium webdriver tooltip


【解决方案1】:

通过比较 Web 元素的“标题”属性和您预期的工具提示文本来验证工具提示。

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

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

【讨论】:

  • 我的 HTML 代码中没有 title 属性,并且 alt 属性的值为空白/空。请看下面的 HTML 代码: 在这种情况下,我该怎么办?
【解决方案2】:

输入元素的工具提示文本将是标题属性,对于图像,alt 属性将是工具提示。这是 HTML 4 的标准,所以我不确定您是否需要进行悬停。

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

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

【讨论】:

    【解决方案3】:

    我认为,它需要从元素中释放为:

    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();
    

    【讨论】:

      【解决方案4】:

      我面临同样的问题,我在运行测试时检查了查看源页面,似乎标题属性显示为 data-original-title。因此无法显示文本。更换带有 data-original-title 的标题。我可以获取文本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-02
        • 1970-01-01
        • 1970-01-01
        • 2016-04-29
        • 1970-01-01
        • 2013-05-18
        相关资源
        最近更新 更多