当前位置: 首页 > 知识库问答 >
问题:

Playwright-在页面上找不到选择器时执行

金旺
2023-03-14

我正在使用PlayWright,希望在DOM中找不到元素时执行操作。

我的代码看起来类似于:

while(!page.locator('.list-empty'))
 {
   await removeAllRoles();
 }

这不管用。我怎样才能做到这一点?

共有1个答案

朱睿
2023-03-14

为此,您需要使用isVisible方法。

while(!(await page.locator('.list-empty').isVisible())) {
  // do something
}

此外,您还可以使用ishiden方法。它与isVisible相反。

while(await page.locator('.list-empty').isHidden()) {
  // do something
}
 类似资料:
  • 使用微软的剧作家,我有这个测试代码,工作: 我想把它分解成一个页面对象。我把它作为我的页面对象 作为我的测试: 但我明白了 这是为什么呢? 注意:如果需要的话,在节点16中使用本地es模块

  • 我正在为一个网站编写一个小的测试脚本,作为测试的一部分,程序需要点击Buttons。我正在使用谷歌chrome驱动程序,我尝试了一些功能,例如:driver。findElement(由.cssSelector()驱动)。但是由于某种原因,程序无法识别定位器。 在图片中,我选择了一个按钮来获取其id或类(很抱歉,该网站是希伯来语的)。 主RunnerClass 步骤定义类 功能文件

  • 我对在Selenium中使用python还很陌生。

  • 我找不到日期选择器的元素。我尝试了CssSelector和xpath等。下面是我试过的代码。 代码: 下面是HTML代码。 HTML: 这里是错误: 组织。openqa。硒。NoTouchElementException:无法定位元素:

  • 错误消息 线程“main”org.openqa.selenium.nosuchelementException:没有这样的元素:找不到元素:{“method”:“XPath”,“Selector”:“.//*[@id='TreeBox1']/div/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td[2]/table/tbody/tr[2]/td[2]/tab

  • 问题内容: 考虑以下 jstl 选择: AuthMsgBean = Bean rw =地图 ‘2’=键 题: 当我简单地显示值时,它会显示正常(true),但是一旦我尝试将值解析为when标记,就好像测试始终为false一样。 如果我在测试()中输入true,则显示“显示文本”。 可能是在表达式之前对标记求值了吗? 如果是这样,是否有解决方法? 问题答案: JSTL和JSF不会像您期望的那样同步运