Невозможно выбрать элемент раскрывающегося списка на странице расширенного поиска Google
Проблема: невозможно выбрать язык из раскрывающегося списка.
Пожалуйста помоги!!
Тестовые шаги:
- Перейдите на 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;
}
}
}
}
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();
}