Selenium - 尝试从下拉列表中选择时出现问题

时间:2017-08-09 19:30:37

标签: java selenium-webdriver automated-tests selenium-firefoxdriver

我需要一些帮助。我正在尝试在网站http://zara.com上运行自动化测试,我想从语言下拉列表中选择语言。

这是Zara的HTML代码。 https://prntscr.com/g6hdiv

这是我在IntelliJ

中尝试使用Selenium 2.53的代码
public class RegistrationTest {

 WebDriver driver;

    @Before
    public void setUp(){
        driver = new FirefoxDriver();
        driver.get("http://zara.com");
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

    }
    @After
    public void tearDown(){
        driver.quit();
    }

    @Test
    public void test(){

        WebElement languageDropdown = driver.findElement(By.id("language"));
        Select selectLanguage = new Select(languageDropdown);
        selectLanguage.selectByValue("en");
    }

}

即使我尝试过不同的设置,但我也总是收到以下错误,但它不起作用。

  

org.openqa.selenium.ElementNotVisibleException:该元素当前不可见,因此可能无法与

进行交互

你能告诉我我做错了什么吗?

感谢帮助。

1 个答案:

答案 0 :(得分:0)

  

该元素目前不可见,因此可能无法与

进行交互

您需要滚动页面,以便元素位于当前视口中。像这样:

WebElement languageDropdown = driver.findElement(By.id("language"));
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", languageDropdown);
Select selectLanguage = new Select(languageDropdown);
selectLanguage.selectByValue("en");