我需要单击此组件中的按钮,但我不知道如何执行此操作。
我需要遵循以下路径:
我该怎么做呢?xpath是我唯一的选择吗?我想我可以使用css定位器,但是我不知道如何写相对路径。
app-lista-convites lote card card-convite ng-star-inserted btn btn-danger btn-no-text zmdi zmdi-delete
HTML
<app-lista-convites-lote _ngcontent-c13="" _nghost-c18="">
<div _ngcontent-c18="" class="card card-convite ng-star-inserted">
<div _ngcontent-c18="" class="kebab kebab-convite">
<button _ngcontent-c18="" class="btn btn-danger btn-no-text" title="Remover convite" type="button">
<i _ngcontent-c18="" class="zmdi zmdi-delete"></i>
</button>
发布于 2018-08-03 04:30:15
这取决于你需要的具体程度,这取决于你整个页面的html。所有这些示例都选择相同的元素,但使用CSS Selectors的特异性级别不同。
element(by.css('.zmdi-delete'));
element(by.css('button.btn-danger i'));
element(by.css('div.kebab i'));
element(by.css('div.card-convite>div.kebab>button>i'));
element(by.css('app-lista-convites-lote i.zmdi-delete'));
发布于 2018-08-03 15:50:56
您需要的是标识一个惟一的CSS选择器,该选择器独立于该项在DOM树中的位置。
我建议告诉你的CSS,你想要一个带有tagName button
的定位器,该定位器与标题Remover convite
一起存在,并且具有名为button
的类型
这将创建:
element(by.css('button[title="Remover convite"][type="button"]'));
发布于 2018-08-03 20:31:35
根据您提供的在标题为Remover convite的按钮上调用click()
的超文本标记语言,您可以使用以下解决方案之一:
css
# 1:element(by.css('div.card.card-convite.ng-star-inserted button.btn.btn-danger.btn-no-texttitle="Remover convite"'));
css
# 2:element(by.css("div.card.card-convite.ng-star-inserted button.btn.btn-danger.btn-no-texttitle='Remover convite'>i.zmdi.zmdi-delete"));
注意::由于所需的元素是Angular元素,因此您必须导出。
https://stackoverflow.com/questions/51661229
复制相似问题