嗨我有使用selenium的场景需要自动创建yopmail用户帐户,所以如果我尝试创建新帐户,我需要清除我之前输入的电子邮件。所以我尝试了几个选项阅读你的博客,但它没有多大帮助...... 选择尝试 1.element.clear()方法 2.使用键选择文本并删除。
我不需要上述方法,请让我知道第三种方式,我们直接清除整个历史记录选项指定为"清单'在yopmail下拉。
问题:当我点击()邮箱图标时,下拉列表正在消失,因为这会导致元素不可见异常。
使用
的代码FirefoxDriver d = new FirefoxDriver();
d.get("http://yopmail.com");
try{
d.findElement(By.xpath("//*[@id='login']")).sendKeys("mpqa");
Thread.sleep(1000);
d.findElement(By.xpath("//*[@id='f']/table/tbody/tr[1]/td[3]/input")).click();
Thread.sleep(1000);
WebElement mailboxIcon=d.findElement(By.xpath("//*[@id='menucpt']/ul/li[1]/center/span"));
Thread.sleep(1000);
Actions builder = new Actions(d);
builder.moveToElement(mailboxIcon).build().perform();
mailboxIcon.click();
WebDriverWait wait = new WebDriverWait(d, 15);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='f']/table/tbody/tr[1]/td[1]/a")));
WebElement clearList=d.findElement(By.xpath("//*[@id='menucpt']/ul/li[3]/a"));
clearList.click();
请检查附件的图像 http://imgur.com/lxlONYX
答案 0 :(得分:0)
这是因为您的xpath错误。
WebElement mailboxIcon=d.findElement(By.xpath("//a[@class='butcpt']"));
替换它并享受。
答案 1 :(得分:0)
要清除列表,请使用此代码。它一定会对你有用
driver.get("http://yopmail.com");
driver.findElement(By.xpath(".//*[@id='login']")).sendKeys("si");
driver.findElement(By.xpath("//*[@id='f']/table/tbody/tr[1]/td[3]/input")).click();
driver.findElement(By.xpath("//a[@class='butcpt']")).click();
driver.findElement(By.linkText("Clear list ")).click();
AND如果要清除收件箱,请使用以下代码。它会对你有用。
try{
driver.findElement(By.xpath(".//*[@id='login']")).sendKeys("si");
driver.findElement(By.xpath("//*[@id='f']/table/tbody/tr[1]/td[3]/input")).click();
driver.switchTo().frame("ifinbox");// Actually the inbox mails are showing in an iFrame so first we have to switch to that iFrame to perform the further action.
driver.findElement(By.xpath(".//*[@id='e0']")).click();// click on the select mail icon.
driver.findElement(By.xpath("html/body/div[1]/table/tbody/tr/td[2]/a")).click();// click on the delete
driver.findElement(By.linkText("Empty Inbox")).click();// click on the Empty Inbox.
}