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時,它工作正常。 –