我试图在赛普拉斯中使用选择器,以便能够在我的网页中找到数据。它似乎没有按我预期的那样工作,但可能只是我不了解它的工作方式。
我正在做以下事情。的click()
,所以我可以看到,如果只是cy.get()
工作,我试图找到合适的选择。最终,我将在一个复杂的系统中使用选择器cy.contains()
,我试图从头开始构建。
cy.get('body:contains(ATHLETE FIRST NAME)').click();
我有一个元素,上面的文字在两个地方。但是contains()
上面似乎没有找到它,但是它不会导致失败。
如果我将该行更改为:
cy.get('div:contains(ATHLETE FIRST NAME)').click();
它告诉我它发现了12次。似乎似乎只是在找到body
or div
,但完全忽略了:contains()
。我以为我一定做错了,但是我发现的一个例子似乎是这样做的,根本找不到很多例子。
==========
更新2020-06-08
我正在为此切换齿轮。
这是我在Cypress UI日志中执行的代码。我不再使用:contains()
选择器,name
而是使用:
contains [name=customerFirstName], johnie
这是当时显示的元素:
<input aria-invalid="false" id="outlined-name" name="customerFirstName" type="text"
class="MuiInputBase-input MuiOutlinedInput-input" value="johnie"
style="...">
value
即使它在应该由选中的元素中,也没有找到name
。我什至尝试搜索'#outlined-name'
,但没有区别。
WRT更新,获取输入字段的值,请参阅
cy.get('[name=customerFirstName]')
.should('have.value', 'johnie');
要么
cy.get('[name=customerFirstName]')
.invoke('val')
.should('eq', 'johnie');
该contains(selector, content)
命令仅适用于在开始和结束标签之间具有内容的元素,该元素适用于<div>
,<span>
等等,但不适<input />
用于自动关闭。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句