gpt4 book ai didi

Selenium:如何定位通知消息等动态元素

转载 作者:行者123 更新时间:2023-12-02 17:07:00 24 4
gpt4 key购买 nike

我正在使用 Selenium 和 Web 驱动程序。

我有一张需要在 Light Box 中填写的表格。现在当我点击“提交”时。该灯箱将关闭,页面顶部会生成一个简单的通知,该通知会在几秒后消失。

现在我的问题是:当我这样做时

driver.findElement(By.xpath(".//*[@id='createCaseBtn']")).click(); // x-path of submit button

我该如何检查该通知消息是否出现在 UI 上。

因为当我这样做

driver.findElement(By.xpath(".//*[@id='easyNotification']")).getText(); // x-path of easyNotification message

我向我展示了无法找到逻辑上正确的元素,因为当时 UI 上不存在通知消息。只有在完成 AJAX 请求(用于提交表单)后,消息才会出现在 UI 上。

请帮忙!!!

谢谢

最佳答案

已使用显式等待。它对我来说效果很好:

显式等待是您定义的代码,用于等待特定条件发生,然后再继续处理代码。最坏的情况是 Thread.sleep(),它将条件设置为要等待的确切时间段。提供了一些方便的方法,可以帮助您编写只等待所需时间的代码。 WebDriverWait 与 ExpectedCondition 结合使用是实现此目的的一种方法。

WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement element = wait.until(
ExpectedConditions.visibilityOfElementLocated(By.id(".//*[@id='easyNotification']")));

关于Selenium:如何定位通知消息等动态元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12779575/

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