Невозможно выбрать элемент раскрывающегося списка на странице расширенного поиска 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;
        }
    }           
    }
    }    

2 ответа

Решение

Ваш код отлично работает в 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;
            }

        }    
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();


}
Другие вопросы по тегам