gpt4 book ai didi

java - 使用 Selenium Java 从动态非选择下拉列表中按文本选择值

转载 作者:行者123 更新时间:2023-12-05 05:46:29 28 4
gpt4 key购买 nike

我想从动态非选择下拉列表中按文本选择值。我做了一些研究,发现了这段代码:

WebElement element = driver.findElement(ByMapper.getBy(dropdown));
element.click();
List<WebElement> options = element.findElements(By.xpath("/html/body/div[1]/div[2]/div/div/div"));
for (WebElement option : options){
if (option.getText().contains(text)){
option.click();
break;
}
}

基本上它将下拉选项放入一个 List 元素中,并在 for 循环中运行,如果选项包含文本,则单击它并中断循环。但是它不适用于这种类型的下拉菜单:

快照:

Dropdown

你能建议我能做什么吗?

具体值快照:

Specific value

注意:该页面只能通过私有(private) vpn 访问,因此我无法共享它。

最佳答案

要从动态非选择下拉列表中按文本 Teszt_5 选择值,您可以使用以下 locator strategies :

String text = "Teszt_5";
WebElement element = driver.findElement(ByMapper.getBy(dropdown));
element.click();
List<WebElement> options = element.findElements(By.xpath("//div[@class='mat-autocomplete-panel mat-autocomplete-visible ng-star-inserted' and starts-with(@aria-labelledby, 'mat-form-field-label')]//mat-option//span[@class='mat-option-text']"));
for (WebElement option : options){
if (option.getText().contains(text)){
option.click();
break;
}
}

引用资料

您可以在以下位置找到一些相关的详细讨论:

关于java - 使用 Selenium Java 从动态非选择下拉列表中按文本选择值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71171419/

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