selenium - 无法选择 Google 高级搜索页面上的下拉列表项

标签 selenium selenium-webdriver automated-tests selenium-rc browser-automation

问题: 无法从下拉列表中选择语言。

请帮忙!!

测试步骤:

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

最佳答案

您的代码在 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/

相关文章:

c# - 获取项目中包含的文件的文件路径

java - 导航到不同页面并返回后,我收到 StaleElementReferenceException

java - Selenium 截图监听器抓取错误的浏览器

python-3.x - 使用 Selenium 的 headless Chrome - 401 未经授权的访问

java - HtmlUnitDriver 是如何渲染页面的?

c# - 需要帮助理解程序集引用

java - 有没有办法先在主窗口上搜索 webelement,如果找不到,然后开始在 iframe 内搜索?

testing - 在 CodedUI 中,如何在不捕获每个页面中菜单的 UIMap 的情况下单击任何页面中的菜单项?

javascript - 如何使用 Typescript 创建 Jest 自定义环境?

java - 从 selenium 验证表列顺序