gpt4 book ai didi

.net - Selenium 或 Coypu 等待元素显示并在显示前获取时间

转载 作者:行者123 更新时间:2023-12-01 17:10:19 26 4
gpt4 key购买 nike

我使用 Selenium 进行 UI 测试。

当我点击按钮一次时我想要什么。然后我会等到一个元素存在。并花时间了解需要多长时间。如果花费的时间超过 timeout ms 。所以它会给出 0 或不存在。

我已经使用 Coypu 尝试过:

browser.FindCss("[name=""searchbtn""]").Click()
Dim vStopwatch = Stopwatch.StartNew()

browser.TryUntil(Function() browser.FindXPath("//*[@id=""blockDocumentsSearch""]").Hover(), Function() browser.FindCss("#repSearchDocuments > .list-group-item").Exists(), TimeSpan.FromMilliseconds(500), New Options() With {
.Timeout = TimeSpan.FromMilliseconds(10000)})


If Not browser.FindCss("#repSearchDocuments > .list-group-item").Exists() Then
pTCH.ErrorCurrentStep("Not showing any documents or timeout.", browser)
Return 0
End If

Return vStopwatch.ElapsedMilliseconds

但它似乎并没有给出正确的结果。

最佳答案

我找到了 Coypu 的一个解决方案:

Public Module BrowserSessionExtension
<Extension>
Public Function WaitUntilElementIsPresent(browser As BrowserSession, cssSelector As String, Optional timeout As Integer = 10) As Long
Dim vExist As Boolean = False
Dim vStopwatch = Stopwatch.StartNew()
For i As Integer = 0 To timeout - 1
If browser.FindCss(cssSelector, Options.First).Exists() Then
vExist = True
Exit For
End If
Thread.Sleep(1000)
Next
vStopwatch.Stop()
If vExist Then
Return vStopwatch.ElapsedMilliseconds
Else
Return 0
End If
End Function
End Module

然后:

Dim vElementLoadTime As Long = browser.WaitUntilElementIsPresent("#repSearchDocuments > .list-group-item", 20)

关于.net - Selenium 或 Coypu 等待元素显示并在显示前获取时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39512690/

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