gpt4 book ai didi

javascript - 将 fluentlenium 与动态生成的内容一起使用时出现问题

转载 作者:行者123 更新时间:2023-11-28 21:32:07 25 4
gpt4 key购买 nike

我正在使用 fluentlenium 对我的应用程序进行测试,但出现了一些错误。我正在使用 Play Framework 和 Slickgrid 来创建我的网格。 Slickgrid 在 javascript 中动态创建网格。创建的结构如下所示:

<div id=”grid”>
<div class=”header”>
<div class=”slickgrid-column-header column-1”>Column 1 </div>
<div class=”slickgrid-column-header column-2”>Column 2 </div>
<div class=”slickgrid-column-header column-2”>Column 2 </div>
</div>
<div class=”viewport”>
<div class=”canvas”>
<div class=”slick-row row-1”>
<div class=”slick-cell l0 r0> Column 1 Row 1</div>
<div class=”slick-cell l1 r1> Column 2 Row 1</div>
<div class=”slick-cell l2 r2> Column 3 Row 1</div>
</div>
<div class=”slick-row row-2”>
<div class=”slick-cell l0 r0> Column 1 Row 2</div>
<div class=”slick-cell l1 r1> Column 2 Row 2</div>
<div class=”slick-cell l2 r2> Column 3 Row 2</div>
</div>
</div>
</div>
</div>

通常,当您使用 fluentlenium 查看源代码时,您可以看到所有源代码,但在我的情况下,缺少一些 slickgrid 代码行。而这些缺失的线条正是我需要的线条。此代码创建一个获取页面源的简单测试。

@Test
public final void fakeTest() {
final int port = 3333;
running(testServer(port, fakeApplication()), HTMLUNIT,
new Callback<TestBrowser>() {
@Override
public void invoke(final TestBrowser browser) throws Throwable {
browser.goTo("http://localhost:3333/fake");
System.out.println(browser.pageSource());
}
});
}

输出看起来是这样的:

<html>
<head> <title> </title> </head>
<body>
<div id=”grid>
<div class=”header”>
<div class=”slickgrid-column-header column-1”>Column 1 </div>
<div class=”slickgrid-column-header column-2”>Column 2 </div>
<div class=”slickgrid-column-header column-2”>Column 2 </div>
</div>
<div class=”viewport”>
<div class=”canvas”></div>
</div>
</div>
</body>
</html>

你怎么看,单元格没有出现,我无法获取单元格 FluentWebElement 来模拟点击或获取单元格值。

最佳答案

你有你所写的行为:

  • 转到页面
  • 立即打印源代码

那里发生了什么:Slickgrid 的东西还没有生成。如果你想要,你必须等待。

因此,在 goTo(page) 和 : 之间使用 await api 之类的东西:

await().atMost(5, TimeUnit.SECONDS).until(".slick-row").isPresent()

或您认为更合适的任何内容。在那里它最多等待 5 秒,直到找到具有 slick-row 类的元素。

关于javascript - 将 fluentlenium 与动态生成的内容一起使用时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16524053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com