【发布时间】:2014-01-04 21:02:04
【问题描述】:
我想知道是否有一种方法可以过滤 DOM 的 innerHTML 以仅包含实际的 HTML 并丢弃所有评论节点?
实际上,我正在使用 Angularjs 并使用 Selenium 编写一些测试。 Angular 会在渲染的 HTML 中乱扔很多 cmets,例如:
<!-- ngSwitchWhen: join -->
<div data-ng-switch-when="leave">
<!-- ngIf: isNow -->
.
.
.
</div>
我目前正在尝试匹配结果:@client 是 WebDriver 实例。
@client.findElement(By.xpath("//*[@id='log']/li")).getAttribute('innerHTML').then (innerHtml) ->
html = innerHtml.trim()
expect(html).to.equal """
<div class="image"><i class="icon-refresh"></i></div>
<div class="fade-6 content">Getting more activities...</div>
"""
当我尝试使用 Mocha 测试返回的 DOM 结构时,这会产生一个大问题。我要测试什么?我不可能在我的期望值中重复所有无用的 cmets,这将是非常浪费的。
有没有更好的办法?
【问题讨论】:
标签: javascript html angularjs selenium