Cypress 找不到具有动态 id 的元素

问题描述 投票:0回答:1

我想找到一个元素并输入其id是动态的,但它不起作用。示例。

<div class="MuiFormControl-root MuiFormControl-fullWidth MuiTextField-root css-zwqr57">
   <label class="MuiFormLabel-root MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-shrink MuiInputLabel-sizeMedium MuiInputLabel-outlined MuiFormLabel-colorPrimary MuiFormLabel-filled MuiInputLabel-root MuiInputLabel-formControl MuiInputLabel-animated MuiInputLabel-shrink MuiInputLabel-sizeMedium MuiInputLabel-outlined css-1ald77x" data-shrink="true" for="input_filter_filename_b6c7474b-091b-4774-8bbc-9abea59e3123" id="input_filter_filename_b6c7474b-091b-4774-8bbc-9abea59e3123-label">Nome</label>
   <div class="MuiInputBase-root MuiOutlinedInput-root MuiInputBase-colorPrimary MuiInputBase-fullWidth MuiInputBase-formControl css-1sopxis">
      <input aria-invalid="false" autocomplete="off" id="input_filter_filename_b6c7474b-091b-4774-8bbc-9abea59e3123" maxlength="200" class="MuiInputBase-input MuiOutlinedInput-input css-1pog434" type="text" value="">
      <fieldset aria-hidden="true" class="MuiOutlinedInput-notchedOutline css-1q73ugn">
         <legend class="css-14lo706"><span>Nome</span></legend>
      </fieldset>
   </div>
</div>

id中的“input_filter_filename_”部分不会改变

我尝试了以下方法:

cy.get('id').contains('input_filter_filename_')
   .type('my text')

但是,不要打字。任何帮助将不胜感激。

cypress
1个回答
0
投票

如果要按属性选择,需要加方括号。
类似于

cy.get('[id="value-of-attribute"]')

此外,如果您只想选择部分属性值,则需要使用

^=
将选择从 equals 更改为 startsWith

cy.get('[id^="input_filter_filename"]').type('my-text')
© www.soinside.com 2019 - 2024. All rights reserved.