Как в драматурге выделить часть предложения?
В моем скрипте автоматизации есть предложение - «когда будет готов мой аккаунт?». В этом предложении я хочу выделить слово «аккаунт». По сути, я хочу выделить этот текст, а затем щелкнуть по нему правой кнопкой мыши. Я застрял на выделении текста «аккаунт» с помощью инструмента автоматизации драматурга.
Элемент страницы выглядит так.
<div class="line-text">when will may account be ready</div>
2 ответа
Попробовав много вещей, нижеприведенный код сработал для меня. По сути, слово, которое я пытался выбрать, не имело тега вокруг него, поэтому было трудно выбрать это слово. Сначала я использовал JavaScript, чтобы выбрать текст, а затем щелкнул правой кнопкой мыши, используя драматург.
// element handle of a complete sentence
const elementHandle = await this.getMessageByText(messageText);
// below code selects the given word from the line. text is the word I want to //select
await elementHandle.evaluate((element, text) => {
const selection = window.getSelection();
const content = element.innerText;
const range = document.createRange();
range.setStart(element.childNodes[0], content.indexOf(text));
range.setEnd(element.childNodes[0], content.indexOf(text) + text.length);
selection.removeAllRanges();
selection.addRange(range);
}, textToMask);
await this.click(SELECTORS.messageBodyTextelementHandle, { button: 'right' });
Вы можете щелкнуть правой кнопкой мыши в драматурге, как показано ниже:
const example = await page('#example');
await example.click({ button: 'right', });