无法在弹出窗口中找到webelement

时间:2017-07-28 12:10:41

标签: java selenium selenium-webdriver

我在网站https://casino.efortuna.ro/en/

上自动化测试时遇到问题

无论我做什么,selenium都无法找到用户名/密码的输入

我已经尝试过driver.switchTo()。activeElement()和driver.switchTo()。frame(0),似乎没有任何工作。

这段代码应该找到它们并填充它们,但总是会失败

“没有这样的元素:无法找到元素:{”method“:”xpath“,”selector“:”// * [@ id =“view389”] / div / div / div [2] / DIV / DIV [2] / DIV /形式/ DIV [1] / DIV [1] / DIV /输入 “}”

public CasinoMainPage openLoginForm() {
        WebElement loginBtn = driver.findElement(By.xpath("//*[@id=\"application\"]/div[3]/div[1]/div[4]/div[1]/div/div/div[2]/div[2]/button"));
        loginBtn.click();
        return this;
    }
         public CasinoMainPage fillUsername(String username) {
        WebElement loginField = driver.findElement(By.xpath("//*[@id=\"view389\"]/div/div/div[2]/div/div[2]/div/form/div[1]/div[1]/div/input"););
        loginField.sendKeys(username);
        return this;
    }

    public CasinoMainPage fillPassword(String password) {
        WebElement passwordField = driver.findElement(By.xpath("//*[@id=\"view185\"]/div/div/div[2]/div/div[2]/div/form/div[1]/div[2]/div/input"););
        passwordField.sendKeys(password);
        return this;
    }


 //this method is called from @Test and fails on Fillusername()

public CasinoMainPage login() {
        goToMainPage();
        waitFor(By.xpath("//*[@id=\"application\"]/div[3]/div[1]/div[4]/div[1]/div/div/div[2]/div[2]/button");,Const.DEFAULT_TIMEOUT);
        openLoginForm();
        driver.switchTo().activeElement();
        fillUsername("login");
        fillPassword("password");
        commitLogin();
        return this;
    }
你能帮帮我吗?我无法找出我做错了什么。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

以下是您的问题的答案:

您可以考虑更改以下内容:

    主页上的
  1. Login按钮:

    WebElement loginBtn = driver.findElement(By.xpath("//button[@class='btn btn_action_login btn_size_small fn-login']"));
    
  2. Username字段:

    WebElement loginField = driver.findElement(By.name("userName"));
    
  3. Password字段:

    WebElement passwordField = driver.findElement(By.name("password"));
    
  4. LOG IN按钮:

    WebElement LOG_IN = driver.findElement(By.xpath("//button[@class='btn fn-login-btn btn_type_popup-login']"));
    
  5. 如果这回答你的问题,请告诉我。