Selenium-如何从自动完成下拉列表中选择值

Selenium-如何从自动完成下拉列表中选择值,selenium,selenium-webdriver,automation,Selenium,Selenium Webdriver,Automation,如何使用Java编写selenium代码 i) 选择Location AECS,Bangalore(Location输入应该是动态的,即它应该能够随时更改测试数据)尝试这种方法。在下面的代码中,假设我首先以孟买的形式输入城市名称,那么dropdwn将以孟买城市的形式显示我的名字 我的下一步将是等待,我想从下拉列表中单击的城市,因此,我使用了显式等待 在孟买市中心的城市名称上执行点击操作后,孟买 <div class="cityLocaDiv1 col-lg-12 col-md-12 col

如何使用Java编写selenium代码


i) 选择Location AECS,Bangalore(Location输入应该是动态的,即它应该能够随时更改测试数据)

尝试这种方法。在下面的代码中,假设我首先以
孟买
的形式输入城市名称,那么dropdwn将以
孟买
城市的形式显示我的名字

我的下一步将是等待,我想从下拉列表中单击的城市,因此,我使用了
显式等待

在孟买市中心的城市名称上执行点击操作后,孟买

<div class="cityLocaDiv1 col-lg-12 col-md-12 col-sm-12 col-xs-12">
  <input class="form-control" id="city-locality1" placeholder="Enter City or Locality" type="text">
    <span class="glyphicon glyphicon-chevron-down cityicon1" style="position:absolute;cursor:pointer;"></span>
</div>

试试下面的方法,可能有用

driver.get("http://www.medinfi.com");
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);    
driver.findElement(By.id("city-locality1")).sendKeys("Mumbai"); 
WebDriverWait wait = new WebDriverWait(driver, 15);
wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.xpath("//div[@class='cityLocaDiv1 col-lg-12 col-md-12 col-sm-12 col-xs-12']/ul[@id='autoCityResult1']/li/a[contains(text(), 'Mumbai Central, Mumbai')]"))));
driver.findElement(By.xpath("//div[@class='cityLocaDiv1 col-lg-12 col-md-12 col-sm-12 col-xs-12']/ul[@id='autoCityResult1']/li/a[contains(text(), 'Mumbai Central, Mumbai')]")).click();

看起来你在请别人为你写代码。显示您已经尝试过的代码并发布说明最好在此处显示您的代码以获得帮助。也许你从这个答案中得到了一个想法,这个问题更像是如何给出运行时测试数据。对吗?如果我愿意,我如何随时更改测试数据?只需将城市名称更改为
孟买
,同时您需要根据下拉搜索结果创建xpath。我对代码
的解释对您有帮助吗?如果确实如此,请将此答案标记为
已接受
driver.get("http://www.medinfi.com");
driver.findElement("city-locality1").sendKeys("Mumbai",Keys.DOWN);