无法选择Gmail主页语言选择器中的元素

时间:2018-04-03 06:13:07

标签: java selenium drop-down-menu listbox element

我只是在使用Selenium和Java自动化gmail网站,我被困在gmail主页的语言选择下拉列表中。选择下拉列表后,我无法从列表框中选择任何特定语言,因为我得到的元素不可见异常。我们如何从这些列表框中选择元素?我已经尝试过使用许多通用技术,如动作,显式等待等。

2 个答案:

答案 0 :(得分:0)

登录后,以下代码将选择语言Dansk。这里重要的是使用Selenium Select类。有关文档,请参阅:https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/support/ui/Select.html

    WebDriverWait wait = new WebDriverWait(driver, 15);
    WebElement next = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//content/span[contains(text(),'Next')]")));
    next.click();
    WebElement settings = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[contains(@class,'aos T-I-J3 J-J5-Ji')]")));
    settings.click();
    WebElement settingsmenuchoice = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[contains(@class,'J-N aMS')]")));
    settingsmenuchoice.click();
    WebElement select = wait.until(ExpectedConditions.elementToBeClickable(By.id(":m4")));
    select.click();
    Select languageDropdown = new Select(select);
    List<WebElement> Options = languageDropdown.getOptions();
    for(WebElement option:Options){
        if(option.getText().equals("Dansk")) {
          option.click();      
        }               
    }

答案 1 :(得分:0)

我尝试过和您一样,通过更改语言获得成功,但是我无法选择想要的语言。这是我使用的方法:

driver.findElement(By.xpath("//div[@class='u7land']")).click();
driver.findElement(By.xpath("//div[@class='ry3kXd Ulgu9']")).click();
driver.findElement(By.xpath("//div[@class='OA0qNb ncFHed']")).click();