Я пытаюсь связать воедино Selector, withText, find и другой withText, чтобы найти конкретную ссылку.
Вот HTML-код, который я пытаюсь найти, и я хочу выбрать кнопку «Изменить», которая находится в div с текстом «Рецензенты»:
<div class="content">
<div class="ui edit-segment--header">Documents
<button type="button" data-testid="edit-segment" class="material link right floated relaxed-top">Edit</button>
</div>
<div class="ui segment segment__compact-top">
<div role="list" class="ui bulleted list">
<div role="listitem" class="item"><span>Budget</span></div>
<div role="listitem" class="item"><span>Draw cover sheet</span></div>
<!-- (a few more...) -->
</div>
</div>
</div>
<div class="content">
<div class="ui edit-segment--header">Rules
<button type="button" data-testid="edit-segment" class="material link right floated relaxed-top">Edit</button>
</div>
<div class="ui segment segment__compact-top">
<h4 class="ui header">Automatic</h4><span>No rules selected</span>
<h4 class="ui header">Manual</h4><span>No rules selected</span></div>
</div>
<div class="content">
<div class="ui edit-segment--header">Reviewers
<button type="button" data-testid="edit-segment" class="material link right floated relaxed-top">Edit</button>
</div>
<div class="ui segment segment__compact-top">
<div role="list" class="ui list">None</div>
</div>
</div>
Япытаясь щелкнуть это с помощью:
await t.click(Selector("div").withText("Reviewers").find("button").withText("Edit"));
TestCafe заканчивает тем, что находит кнопку «Редактировать», которая находится в div с текстом «Документы» внутри, и щелкает по ней.
Я ожидал бы, что Selector("div").withText("Reviewers")
найдет конкретный div с текстом Reviewers внутри него, а затем .find("button").withText("Edit")
найдет единственную дочернюю кнопку (которая имеет текст Edit) внутри нее.Я неправильно понимаю, как это должно работать?Спасибо