我正在编写一个UserScript,它将从包含特定字符串的页面中删除元素.
如果我正确理解jQuery的contains()函数,它似乎是正确的工具.
不幸的是,由于我将运行UserScript的页面不使用jQuery,我不能使用:contains().你们中任何一个可爱的人都知道这样做的本土方式是什么?
我是UI测试用例的新手。我想做的是验证我的角度模板中的按钮文本。
以下是我的角度模板文件中可用的按钮控件
<button type="button" class="btn btn-primary" (click)="staticModal.show()">Show/Hide</button>
<button type="button" class="btn btn-primary" (click)="filterModal.show()">Filter</button>
Run Code Online (Sandbox Code Playgroud)
以下是我的角度测试
it('should have button with text show/hide',()=>{
const debug=fixture.debugElement;
const native=debug.nativeElement;
const buttonElem=native.querySelector('button:contains("show/hide")');
console.log(native);
expect(buttonElem.textContent).toContain('Show/Hide');
});
Run Code Online (Sandbox Code Playgroud)
因为我的模板中有两个没有任何ID且具有相同类的按钮。我正在尝试找到带有文本值的右键,但是它失败,并显示以下错误“ SyntaxError:无法在'Element'上执行'querySelector':'button:contains(“ show / hide”)'不是有效的选择器。”
什么是测试此方案的正确方法。
编辑:我使用茉莉与业力进行测试。
我想使用 document.querySelector() 中的选择器来选择所有带有文本“print”的标签。
<a href="https://www.google.co.in">print</a>
Run Code Online (Sandbox Code Playgroud)
我怎样才能选择相同的。我不想使用 jQuery。我不必只是 querySelector 但任何其他选择器都可以。