问题: 无法从下拉列表中选择语言。
请帮忙!!
测试步骤:
- 转到https://www.google.co.in/
- 点击右下角的“设置”。
- 现在点击“高级搜索”
- 将打开高级搜索页面。
- 点击名称为“任何语言”的下拉菜单。
- 系统将打开语言下拉列表。
- 从下拉列表中选择任何语言,例如印地语。
代码如下:
public class DropDown_Settings {
static String baseURL = "https://google.com";
static WebDriver driver;
public static void main(String[] args) throws InterruptedException
{
driver= new FirefoxDriver();
driver.get(baseURL);
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(2000, TimeUnit.SECONDS);
driver.findElement(By.xpath(".//*[@id='fsettl']")).click();
driver.findElement(By.xpath(".//*[@id='advsl']/a[text()='Advanced
search']")).click();
driver.findElement(By.cssSelector("#lr_button")).click();
WebElement dropDown=driver.findElement(By.id("lr_menu"));
List<WebElement> options=dropDown.findElements(By.tagName("li"));
System.out.println(options.size());
for(WebElement value:options){
if(value.getText().equals("Hindi")){
System.out.println(value.getText());
value.click();
break;
}
}
}
}
最佳答案
您的代码在 Chrome 中运行良好,尝试一下该代码,它在 Firefox 和 Chrome 中都可以运行
在 Firefox 和 Chrome 中尝试此代码:
System.setProperty("webdriver.chrome.driver","E:/software and tools/chromedriver_win32/chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.manage().window().maximize();
driver.get("https://www.google.co.in/");
driver.manage().timeouts().implicitlyWait(2000, TimeUnit.SECONDS);
driver.findElement(By.xpath(".//*[@id='fsettl']")).click();
driver.findElement(By.xpath(".//*[@id='advsl']/a[text()='Advanced search']")).click();
driver.findElement(By.cssSelector("#lr_button")).click();
WebElement dropDown=driver.findElement(By.id("lr_menu"));
List<WebElement> options=dropDown.findElements(By.tagName("li"));
System.out.println(options.size());
for(int i=0;i<options.size();i++){
String langName=options.get(i).getText();
if(langName.contains("Hindi"))
{
options.get(i).click();
break;
}
}
关于selenium - 无法选择 Google 高级搜索页面上的下拉列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46618647/