表单中有一个输入文本区域。当我输入城市名称时,它会使用谷歌api给出城市的建议。我怎样才能选择我的欲望价值?
HTML代码
<input class="focus" autocomplete="off" placeholder="Enter a location" name="msf-city" id="msf-city" type="text">
答案 0 :(得分:2)
以下是与Google自动提示搜索字段相关的图片:
以下代码将导航至Google的网站,然后使用文字&#39; stackoverflow&#39;填充输入字段。然后单击“stackoverflow”作业&#39;来自自动提示框:
//Opening browser instance
WebDriver driver = new FirefoxDriver();
//Maximizing browser window
driver.manage().window().maximize();
//Implicit timeout of 10 seconds
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
//Navigate to google site
driver.get("http://google.co.in/");
//Send text to the input box
driver.findElement(By.id("gbqfq")).sendKeys("stackoverflow");
//Select option from the autosuggest box
driver.findElement(By.xpath("//ul[@role='listbox']//div[.='stackoverflow jobs']")).click();
从你的html片段我只能将Keys发送到文本字段(如下所示),但不能从自动提示框中选择该选项。
driver.findElement(By.id("msf-city")).sendKeys("some city name");
因此,请为自动提示框中显示的选项添加相关的HTML代码段!
答案 1 :(得分:0)
您可以按照以下语法从下拉列表中选择值:
//SELECT SPECIFIC VALUE FROM DROPDOWN
Select sel = new Select(driver.findElement(By.id("your-dropdown-id")));
sel.selectByVisibleText("Value of city");
value of city : for ex : Ahmdedabad.
如果您有任何疑惑,请分享您的实际HTML代码,以便根据您的下拉列表编写selenium webdriver代码。