Java 如何使用硒或硒化物选择md自动完成选项?

Java 如何使用硒或硒化物选择md自动完成选项?,java,angular,selenium,testing,selenide,Java,Angular,Selenium,Testing,Selenide,这是我的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")); /

这是我的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代码


{{item.name}

而不是执行
product.find(按.tagName(“span”))我会尝试用XPath替换它,如下所示:

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

问题是
span
不是product的直接子元素(它是
md autocomplete
元素),因此您需要一个稍微复杂一点的定位器来查找
span
可能您不需要做这件事
断言。assertEquals(“搜索产品”,product.attr(“md浮动标签”)

只需像下面这样查找span元素
SelenideElement span=$(By.xpath(//md autocomplete[@id='product'和@md floating label='Search product']//span');
span.发送键(键.箭头向下);
span.按回车键()

如果标签为“Search product”的元素不存在,您将获得一个
SoSuchElementException

非常感谢!已尝试,但:“未找到元素{By.xpath://*[@id='product']/div/span}预期:exist”----可能,我不应该在这个span上按键,而是在生成时按键,与选项标记og下拉列表相关。是的,文本可能应该转到
md autocomplete
元素。您是否有幸将钥匙发送到
产品