我正在尝试使用这一元素:
cy.get('[data-cy-component=single-picker-search] input').type('Live');
当我运行它时,它告诉我其中有1个以上,因此无法执行。
我尝试添加{force:true}-没什么区别。
我尝试查看每个元素,但是如果该元素不可见,则会失败:
cy.get(singlePickerSearch).each(($el) => {
cy.wrap($el)
.type('Live' + '{enter}');
});
如何仅在元素可见的位置键入内容?我不希望它失败。
答案 0 :(得分:6)
这对我尝试获得的按钮不起作用:
cy.get('[data-cy-component=single-picker-search] button:visible')
这就是对我有用的东西:
cy.get('[data-cy-component=single-picker-search]').filter(':visible')
答案 1 :(得分:2)
知道了。您可以使用伪选择器DATA: dummy_price TYPE sflight-price.
SELECT-OPTIONS sum_y1 FOR dummy_price DEFAULT 0 TO 99999.
SELECT-OPTIONS sum_y2 FOR dummy_price DEFAULT 0 TO 99999.
SELECT substring( fldate, 1, 4 ) AS year,
MIN( fldate ) AS low,
MAX( fldate ) AS high
FROM sflight
GROUP BY substring( fldate, 1, 4 )
ORDER BY year
INTO TABLE @DATA(y).
ASSERT lines( y ) >= 2.
SELECT carrid,
SUM( CASE WHEN fldate BETWEEN @( y[ 1 ]-low ) AND @( y[ 1 ]-high ) THEN price END ) AS sum_year1,
SUM( CASE WHEN fldate BETWEEN @( y[ 2 ]-low ) AND @( y[ 2 ]-high ) THEN price END ) AS sum_year2
FROM sflight
GROUP BY carrid
HAVING SUM( CASE WHEN fldate BETWEEN @( y[ 1 ]-low ) AND @( y[ 1 ]-high ) THEN price END ) IN @sum_y1[]
AND SUM( CASE WHEN fldate BETWEEN @( y[ 2 ]-low ) AND @( y[ 2 ]-high ) THEN price END ) IN @sum_y2[]
ORDER BY SUM_YEAR1 DESCENDING, SUM_YEAR2 DESCENDING " <=== this works
""""ORDER BY ('SUM_YEAR1 DESCENDING, SUM_YEAR2 DESCENDING') " <=== uncomment for short dump
INTO TABLE @DATA(sflights).
LOOP AT sflights ASSIGNING FIELD-SYMBOL(<sflight>).
WRITE : / <sflight>-carrid, <sflight>-sum_year1, <sflight>-sum_year2.
ENDLOOP.
,以便能够完成
:visible
或者如果可见多个,请选择第一个可见输入
cy.get('[data-cy-component=single-picker-search] input:visible').type(...)