在我的自动化脚本中,我有一句话 - “我的帐户什么时候准备好?”。从这句话中我想选择“帐户”这个词。所以基本上我想突出显示该文本,然后右键单击它。我坚持使用自动化工具剧作家突出显示文本“帐户”。
页面元素看起来像这样。
<div class="line-text">when will may account be ready</div>
在我的自动化脚本中,我有一句话 - “我的帐户什么时候准备好?”。从这句话中我想选择“帐户”这个词。所以基本上我想突出显示该文本,然后右键单击它。我坚持使用自动化工具剧作家突出显示文本“帐户”。
页面元素看起来像这样。
<div class="line-text">when will may account be ready</div>
在尝试了很多事情之后,下面的代码对我有用。基本上我试图选择的词,周围没有任何标签,所以很难选择那个词。我首先使用 JavaScript 选择文本,然后使用 playwright 右键单击。
// 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' });
您可以在 playwright 中执行右键单击,如下所示:
const example = await page('#example');
await example.click({ button: 'right', });