gpt4 book ai didi

java - 如果元素是动态的,则无法定位元素

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

我收到错误消息,即使从 DD 中选择元素,也无法找到该元素

我的元素是动态的。

我已经尝试过这个方法

         static class GroupCount {
private static int i = 1;

static void inc() {
i++;
}

static int get() {
return i;
}
}

String xpathGroupSelect = "//*[@id='groupPicker" +
GroupCount.get() + "-list']//div[contains(concat(' ','x-combo-list-item', ' '), 'x-combo-list-item') " +
"and contains(text(),'"
+ name + "')]";

WebElement group = driver.findElement(By.xpath(xpathGroupSelect));

if (xpathGroupPick.isDisplayed()) {

WebDriverWait wait = new WebDriverWait(driver, 30);

wait.until(ExpectedConditions.elementToBeClickable(group)).click();


group.click();

WorkflowAction.addApprovers("Compliance");

我正在尝试寻找“合规”元素

这是我的 html 代码:

> <div class="x-combo-list-inner" id="groupPicker1-list" style="width:
> 218px; margin-bottom: 8px; height: 81px;"> <div
> class="x-combo-list-item" style="">APPROVAL</div> <div
> class="x-combo-list-item" style="">Compliance</div> <div

最佳答案

要定位文本为Compliance的元素,您需要为visibilityOfElementLocated()引入WebDriverWait,并且可以使用以下任一Locator Strategies :

  • css选择器:

    WebElement element = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("div.x-combo-list-inner[id^='groupPicker'] div:nth-child(2)")));
  • xpath:

    WebElement element = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[@class='x-combo-list-inner' and starts-with(@id, 'groupPicker')]//div[@class='x-combo-list-item' and text()='Compliance']")));

关于java - 如果元素是动态的,则无法定位元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59088444/

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