如何使用selenium选择下拉值,其中谷歌建议使用值

时间:2014-12-12 11:34:35

标签: java selenium drop-down-menu selenium-webdriver

表单中有一个输入文本区域。当我输入城市名称时,它会使用谷歌api给出城市的建议。我怎样才能选择我的欲望价值?

HTML代码

<input class="focus" autocomplete="off" placeholder="Enter a location" name="msf-city" id="msf-city" type="text">

Google-API suggesting city name according to the enterd Text

2 个答案:

答案 0 :(得分:2)

以下是与Google自动提示搜索字段相关的图片: enter image description here

以下代码将导航至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代码。