0

在我的自动化脚本中,我有一句话 - “我的帐户什么时候准备好?”。从这句话中我想选择“帐户”这个词。所以基本上我想突出显示该文本,然后右键单击它。我坚持使用自动化工具剧作家突出显示文本“帐户”。

页面元素看起来像这样。

<div class="line-text">when will may account be ready</div>
4

2 回答 2

1

在尝试了很多事情之后,下面的代码对我有用。基本上我试图选择的词,周围没有任何标签,所以很难选择那个词。我首先使用 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' });
于 2021-11-10T00:01:01.770 回答
0

您可以在 playwright 中执行右键单击,如下所示:

const example = await page('#example'); 
await example.click({ button: 'right', });
于 2021-09-04T21:37:19.113 回答