假设您正在使用PlayWright来验证一些如下所示的HTML:
<span>
时间是:
<time>5:30 pm</time>
</span>
你可以使用这个代码:
page.locator('span', {has: page.locator('time')}).textContent();
要实现以下目标:
时间是:下午5:30
但是,如果你just想要第一部分,因为它不会改变呢?
时间是:
有没有办法在不获取其子元素文本的情况下获取元素的文本内容?
目前,我能想到的唯一解决方案是获取两者的文本,然后删除子元素的文本:
const parent = page.locator('span', {has: page.locator('time')});
const parentText = parent.textContent();
const child = parent.locator('time');
const childText = child.textContent();
const onlyParentText = parentText(0, parentText.length - childText.length);
...但仅获取单个DOM node 的文本就需要大量的JavaScript.
有没有更简单的方法来使用编剧功能来完成上面的工作?