1

问题: 无法从下拉列表中选择语言。无法选择Google高级搜索页面上的下拉列表项目

请帮忙!!

测试步骤:

  1. 转到https://www.google.co.in/
  2. 点击 '设置' 出现在右下角。
  3. 现在点击“高级搜索”
  4. 高级搜索页面将打开。
  5. 单击名称为“任何语言”的下拉列表。
  6. 语言下拉列表将打开。
  7. 从下拉列表中选择任何语言,例如印地语。

代码如下:

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; 
     } 
    }   
    } 
    }  
+0

我得到了它,奇怪 – iamsankalp89

+0

@ iamsankalp89请帮忙!!!! –

+0

我会试试我的est – iamsankalp89

回答

1

你的代码工作正常在Chrome中,试试这个代码,它是在两个Firefox的工作和铬

尝试在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; 
      } 

     }  
+0

我不知道为什么它不在FF中工作,但在Chrome中工作 – iamsankalp89

1
System.setProperty("webdriver.chrome.driver", "./drivers/chromedriver.exe"); 
    WebDriver driver= new ChromeDriver(); 
    driver.get("https://www.google.co.in/"); 
    driver.manage().window().maximize(); 
    driver.manage().timeouts().implicitlyWait(2000, TimeUnit.SECONDS); 
    driver.findElement(By.xpath("//a[@id='fsettl']")).click(); 
    Thread.sleep(3000); 
    driver.findElement(By.xpath("//span[@id='advsl']//a")).click(); 
    Thread.sleep(10000); 
    driver.findElement(By.xpath("//div[@id='lr_button']")).click(); 
    driver.manage().timeouts().implicitlyWait(2000, TimeUnit.SECONDS); 
    driver.findElement(By.xpath("//ul[@id='lr_menu']//li[23]")).click(); 


} 
+0

在Chrome中正常工作,但在Firefox(不是)中。最新的原因是什么? –

+0

我想,FF有一些版本特定的问题。我正在使用FF版本47和硒版本2.53.1,它没有工作。 –

+0

当我使用chrome最新版本和硒版本3.6时,它工作正常。 –