4 回答
TA贡献2041条经验 获得超4个赞
尝试在您的代码中添加显式等待,即仅在文本可见时才在字段中输入文本。尝试以下代码:
WebDriverWait wait=new WebDriverWait(driver, 20);
WebElement Login = driver.findElement(By.className("flex-signup"));
Login.click();
//WebElement EmailAdd = driver.findElement(By.id("emailAddress"));
//WebElement EmailAdd = Driver.findElement(By.id("****"));
WebElement EmailAdd=wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("****"));
EmailAdd.sendKeys("************");
WebElement Passwd = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("****"));
Passwd.sendKeys("*******");
然后点击Login按钮
TA贡献1784条经验 获得超8个赞
Login.click 执行后会发生什么?如果登录表单需要一些时间来呈现(即使 30 毫秒也可能很重要),那么您应该等待!否则驱动程序将立即尝试发送密钥凭据(即使登录表单尚未准备好获取输入数据),因此一些第一个符号可能会丢失。
PS 我知道我可能会犯一些严重的语法错误,对此深表歉意。
TA贡献1111条经验 获得超0个赞
尝试不同的浏览器,如 Firefox、chrome 和 opera。
WebDriver firefox=new FirefoxDriver() //for 火狐
WebDriver chrome=new ChromeDriver();//对于 chrome。
试试看。
TA贡献1831条经验 获得超10个赞
我认为您忘记了登录过程中的一个步骤。
下面是我认为大多数登录过程的样子。
找到 ID Box 并发送钥匙
找到 PW Box 并发送密钥
找到登录按钮并单击/发送“输入密钥”和 PW 发送密钥。
你的看起来像这样。
点击登录(?)
查找 WebElement 电子邮件添加
查找 WebElement EmailAdd (x2)(使用不同的驱动程序调用)
将密钥发送到 EmailAdd
查找 WebElement 密码
将密钥发送到 Passwd
添加回答
举报