Второе: используйте это

с, как указано в заголовке, т. Е. Для доступа к элементу, родитель которого скрыт. Проблема в том, что согласноcypress.io docs :

Элемент считаетсяскрытый если:

Его ширина или высота равна 0.Свойство CSS (или его предки) - видимость: скрыто.Свойство CSS (или его предки) - display: none.Его CSS-свойство является position: fixed, оно за кадром или скрыто.

Но код, с которым я работаю, требует от меня нажатия на элемент,родитель скрыт, а сам элемент виден.

Поэтому каждый раз, когда я пытаюсь нажать на элемент, появляется сообщение об ошибке:

CypressError: Тайм-аут повторной попытки: ожидается, что «<mdc-select-item # mdc-select-item-4.mdc-list-item>» будет «видимым»

Этот элемент <mdc-select-item # mdc-select-item-4.mdc-list-item> невидим, поскольку его родительский элемент <mdc-select-menu.mdc-simple-menu.mdc-select__menu> ' имеет свойство CSS: 'display: none'

Элемент, с которым я работаю, этоdropdown item, который написан вpug, Элемент является компонентом, определенным вУгловой-MDC-веб, который используетmdc-select для выпадающего меню иmdc-select-item для его элементов (предметов), к которым я должен получить доступ.

Пример кода похожей структуры:

//pug
mdc-select(placeholder="installation type"
            '[closeOnScroll]'="true")
    mdc-select-item(value="false") ITEM1
    mdc-select-item(value="true") ITEM2

В приведенном вышеITEM1 это элемент, к которому я должен получить доступ. Это я делаю вcypress.io следующее :

//cypress.io
// click on the dropdown menu to show the dropdown (items)
cy.get("mdc-select").contains("installation type").click();
// try to access ITEM1
cy.get('mdc-select-item').contains("ITEM1").should('be.visible').click();

Пробовал с{force:true} заставить предмет щелкнуть, но не повезло. Пытался выбрать элементы, используя{enter} нажатие на родителяmdc-select, но опять же не повезло, как бросает

CypressError: cy.type () может быть вызван только для textarea или: text. Ваша тема: <mdc-select-label class = "mdc-select__selected-text"> Select ... </ mdc-select-label>

Также пытался использоватьselect команда, но это невозможно, потому что движок Cypress не может идентифицировать элемент какselect элемент (потому что его нет, внутренняя работа отличается). Это бросает:

CypressError: cy.select () может быть вызван только для a. Ваша тема: <mdc-select-label class = "mdc-select__selected-text"> Select ... </ mdc-select-label>

проблема это то, чтоmdc-select-menu это родитель дляmdc-select-item имеет свойствоdisplay:none по некоторым внутренним вычислениям при открытии выпадающих пунктов.

Это свойство перезаписывается наdisplay:flex, но это не помогает.

Все из идей. Это работает вSelenium, но не сcypress.io, Любая подсказка, что может быть возможным взломом для ситуации, кроме перехода на другие платформы или изменения кода пользовательского интерфейса?

Ответы на вопрос(3)

Ваш ответ на вопрос