Java 如何使用硒或硒化物选择md自动完成选项?
这是我的Java尝试,但我应该修复什么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")); /
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
元素。您是否有幸将钥匙发送到产品
?