我在网站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;
}
你能帮帮我吗?我无法找出我做错了什么。
提前谢谢。
答案 0 :(得分:1)
以下是您的问题的答案:
您可以考虑更改以下内容:
Login
按钮:
WebElement loginBtn = driver.findElement(By.xpath("//button[@class='btn btn_action_login btn_size_small fn-login']"));
Username
字段:
WebElement loginField = driver.findElement(By.name("userName"));
Password
字段:
WebElement passwordField = driver.findElement(By.name("password"));
LOG IN
按钮:
WebElement LOG_IN = driver.findElement(By.xpath("//button[@class='btn fn-login-btn btn_type_popup-login']"));
如果这回答你的问题,请告诉我。