Playwright:等待选择器使用正则表达式,以不包含特定的文本



我在java中使用player,我有一个运行javascript的页面。打开后;正在加载"并且只有当这种情况消失时,才会出现待测试的内容。

因此,我想加载带有选择器的(iframe(来检查文本";正在加载"消失。虽然我可以选择";头消息";等等。我不能用否定的正则表达式来处理这个问题。这不可能吗?我做错了什么?

Frame frame = page.frame("tf_content").waitForSelector("#headerMessage :text-matches("!Loading...")").ownerFrame();

Playwright有一个断言系统。你可以用它来等待,直到很多有用和聪明的条件:

  • 元素可见
  • 元素不可见
  • 选择器具有X计数
  • 要启用的元素
  • 元素属性具有Y值

导入类:

import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertThat;

代码示例:

assertThat(page.locator("//*[contains(text(), 'Loading...')]")).hasCount(0);
// or:
assertThat(page.locator("//*[contains(text(), 'Loading...')]")).isHidden();

断言通过后,您就可以继续了。

最新更新