gpt4 book ai didi

java - 如何使用 Selenium 或 Selenium 选择 md-autocomplete 选项?

转载 作者:行者123 更新时间:2023-11-28 21:35:48 25 4
gpt4 key购买 nike

这是我的 Java 尝试,但我应该修复什么?

SelenideElement product = $(By.id("product"));
Assertions.assertEquals("Search product", product.attr("md-floating-label"));
product.find(By.tagName("input")).val("test");
SelenideElement span = product.find(By.tagName("span")); //this one and last lines does not work as expected
product.sendKeys(Keys.ARROW_DOWN);
product.pressEnter();

和HTML代码

<md-autocomplete id="product" flex="85" md-selected-item="ctrl.orderItem.product" md-search-text="ctrl.productQuery" md-items="item in ctrl.findProduct(ctrl.productQuery)" md-item-text="item.name" md-delay="300" md-floating-label="Search product">
<div layout="row" class="item" layout-align="start center">
<span md-highlight-text="ctrl.productQuery">{{item.name}}</span>
</div>
</md-autocomplete>

最佳答案

而不是做 product.find(By.tagName("span")); 我会尝试用这样的 XPath 替换它:

SelenideElement span = product.find(By.xpath("//*[@id='product']/div/span"));

问题是 span 不是 product 的直接子元素(它是一个 md-autocomplete 元素),所以你需要一个稍微复杂一点的定位器来找到跨度

关于java - 如何使用 Selenium 或 Selenium 选择 md-autocomplete 选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58931438/

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