首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在关闭弹出窗口后使用页面上的元素处理Selenium

在关闭弹出窗口后使用页面上的元素处理Selenium
EN

Stack Overflow用户
提问于 2021-02-12 16:23:17
回答 1查看 34关注 0票数 0

我想在页面底部的habr.com上切换语言,然后检查语言是否已更改。将出现一个弹出窗口,用于更改语言。但在关闭它之后,我无法与页面上的元素进行交互。我应该怎么做才能使这些项目可用?这是我的代码。

代码语言:javascript
复制
    @FindBy(css = "a.js-show_lang_settings")
    public WebElement languageSettingsLink;

    @FindBy(css = "[for='hl_langs_en']")
    public WebElement interfaceEnglishLabel;

    @FindBy(css = "[for='fl_langs_en']")
    public WebElement publicationEnglishLabel;

    @FindBy(css = "[for='fl_langs_ru']")
    public WebElement publicationRussianLabel;

    @FindBy(css = ".form__footer_lang-settings > button")
    public WebElement saveLanguageSettingsButton;

    @FindBy(className = "tabs-menu__item-text_active")
    public WebElement firstTabHeader;

    public void openLanguageSettingMenu(){
        languageSettingsLink.click();
    }

    public void changeLanguage(){
        interfaceEnglishLabel.click();
        publicationRussianLabel.click();
        publicationEnglishLabel.click();
        saveLanguageSettingsButton.click();
    }

然后我想要与页面上的元素进行交互。

代码语言:javascript
复制
    assertEquals(mainPage.firstTabHeader.getText(), "Articles");

但我得到了

代码语言:javascript
复制
org.opentest4j.AssertionFailedError: 
Expected :
Actual   :Articles
EN

回答 1

Stack Overflow用户

发布于 2021-02-12 16:55:04

您可以使用implicitlyWait等待页面刷新。

你可以试试这个:

代码语言:javascript
复制
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66168444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档