从“自动建议”下拉列表中获取文本在Selenium中不起作用[重复]

问题描述 投票:0回答:1

我正在尝试使用Selenium来验证AutoSuggest下拉列表中的所选值是否正确。但是使用getText()不会返回任何结果。

下面是我的代码

public class AutoSuggestDropdownsTest {

public static void main(String[]args) throws InterruptedException {
   System.setProperty("webdriver.chrome.driver", "/resources/executables/chromedriver") ; 
    WebDriver driver = new ChromeDriver();
    driver.manage().deleteAllCookies();
    driver.get("https://example.com/");
    driver.findElement(By.xpath("//*[@class='stamp remove-sign']")).click();
    driver.findElement(By.xpath("//input[@id='or-search']")).sendKeys("to");
    driver.findElement(By.xpath("//input[@id='or-search']")).sendKeys(Keys.DOWN);
    driver.findElement(By.xpath("//input[@id='or-search']")).sendKeys(Keys.DOWN);
    driver.findElement(By.xpath("//input[@id='or-search']")).sendKeys(Keys.DOWN);
    System.out.println(driver.findElement("//input[@id='or-search']")).getText());
    System.out.println("hello");

    driver.quit();


}
java selenium-webdriver
1个回答
0
投票

通常,自动提示结果需要一些时间才能显示,因此,如果在发送sendKeys(Keys.DOWN)之后立即执行to,则很可能还没有自动提示出现,因此DOWN键无效。要检查是否是这种情况(仅出于测试的开发目的),请放置10秒钟的睡眠时间,并检查您认为应该显示的文本是否与睡眠一起实际出现。

  • 如果确实出现,那么您应该实现某种智能的等待结果出现的动作。
  • 如果未出现,则可能是另一个问题,在这种情况下,如果您可以在自动提示出现后发布页面的html,这将非常有用。
© www.soinside.com 2019 - 2024. All rights reserved.