当有多个div元素且没有ID时,无法使用geb获取Page的标题

时间:2015-12-28 12:22:55

标签: spock geb

下面是我的html,我试图获取标题文本。我尝试了多种方法来选择它但没有成功。你能不能帮我拿到这个元素,这样我才能得到文字。

labelSelectedCase { $("div", class: contains("angular-css ng-panel ng-panel-boxed")).$("div", class: contains("ng-panel-hdr")).$("h2",class: contains("ng-binding") ) }

框架的标题是“Case-10006336-2015”,并尝试使用以下各种方式找到元素,但无法成功。

  1. labelSelectedCase { $("div.angular-css ng-panel ng-panel-boxed div.ng-panel-hdr").find("h2", class: contains("ng-binding")) }

  2. List<string> fileNames = di.GetFiles("*.*") .Where(f => f.Name.EndsWith(".png") || f.Name.EndsWith(".jpg")) .OrderBy(f => f.Extension) .ThenByDescending(f => f.Name) .Select(f => f.Name).ToList();

  3. 和其他几个但无法找到此元素。 你能不能帮助我获得这个元素,这样我就可以获得文本并断言它。

    提前致谢。     

1 个答案:

答案 0 :(得分:0)

其中任何一个都应该有用 -

  1. labelSelectedCase { $("h2.ng-binding")}
  2. labelSelectedCase { $("span.sch-tek").parent()}
  3. 我不确定您在1)中定义的内容是否有效甚至可以解释为什么$(x)。$(y)。$(z)无法正常工作,而且我&# 39;我很确定2)在第一个div的第二和第三类误入歧途,如果你想在这样的多个类上选择,你可能必须链接这些类 -

    labelSelectedCase { $("div.angular-css.ng-panel.ng-panel-boxed div.ng-panel-hdr").find("h2", class: contains("ng-binding")) }
    
    祝你好运,

    出温。