gpt4 book ai didi

java - Webdriver - 等待元素的文本更改

转载 作者:行者123 更新时间:2023-11-30 08:19:17 25 4
gpt4 key购买 nike

我为我的应用程序中的元素创建了一个对象。该元素是屏幕上显示的记录文本。所以在第一页上,它会说“显示 1-10 of 2100”

public static final String VTeam_M_Detail_VRecordsText = "css=#UserList:last-of-type > div:last-child";

当我更改页面时,该元素的文本会发生变化。所以如果我转到第二页,它会说“显示 2100 的 11-20”。我怎样才能让 webdriver 在继续测试之前等待该元素的文本发生变化。因此,当我从第 1 页转到第 2 页时,我想等待该元素的文本等于“displaying 11-20 of 2100”,然后再继续测试的其余部分。

最佳答案

每次,在你换页之前,检索文本,即记录数。然后,单击下一步按钮导航到下一页。然后,使用显式等待等待它不可见。

下面的代码可能会帮助你:

String retrieved_text = driver.findElement(By.xpath("//xpath of the element related to records")).getText(); //Retrieving text, i.e., the innerHtml representing number of records

/*Click on the next button to navigate to the next page*/
driver.findElement(By.xpath("//next button's xpath")).click();

WebDriverWait wait = new WebDriverWait(driver,30);
wait.until(ExpectedConditions.invisibilityOfElementWithText(By.xpath("//xpath of the element related to records"), retrieved_text));

注意:在最后一行代码中使用 xpath 定位显示文本“displaying 1-10 of 2100”的元素,即显示每页显示信息的元素并使用检索text 来推断具有该特定文本的相关元素在下一页中不可见或不可见。

这将有助于轻松识别相关元素的不可见性。

其他方式:如果您想导航到下一页,直到检测到某个元素

(将所有内容放在 DO-WHILE 循环中)

  • 等待元素出现在页面中。
  • 如果找到,则编写代码对元素进行操作并跳出循环。
  • 否则,单击“下一步”按钮
  • 条件将持续到“下一步”按钮被禁用。

关于java - Webdriver - 等待元素的文本更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26934264/

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