【问题标题】:Why I can't get the text for this element为什么我无法获取此元素的文本
【发布时间】:2018-11-09 17:41:32
【问题描述】:

我正在尝试在网页中测试一些搜索功能。如果没有返回结果,则页面显示文本“no result”。我可以看到文字,但我的测试代码无法获取值。

我试过了

document.querySelector("div[class='bold ng-binding']").text;
document.querySelector("div[class='bold ng-binding']").innerHTML;
document.querySelector("div[class='bold ng-binding']").value;

没有任何作用。它总是返回“无”。

元素看起来像这样:

<div ng-show="expanded && !show" class="bold ng-binding">No Result</div>

【问题讨论】:

  • 不可能将None 作为其中两个.text.value 的值,您将获得undefined 值,因为div 元素没有这些属性(除非你设置它们)。
  • 我知道。但是如果我想得到“No result”该怎么办?
  • 这与机器人框架有什么关系?您问题中的所有代码都与机器人框架无关。
  • 机器人框架可以调用Execute Javascript,对吧?我将使用机器人框架来调用这段代码。

标签: javascript angularjs automation automated-tests robotframework


【解决方案1】:

获取页面文本是否具体。

测试的首选是:

我将检查是否显示“无结果”文本以供搜索。

以下可能的方式:

  1. Page Should Contain    No Result

       # 这将验证页面中不存在任何结果文本(不是首选)

或者

  1. Wait Until Element Is Visible    xpath://div[text()='No Result']

       #这验证元素是否存在 - 如果不存在则关键字将失败

以上答案是我的意见。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 2018-02-26
    • 1970-01-01
    相关资源
    最近更新 更多