如何在selenium webdriver中键入gmail正文

时间:2017-02-21 09:30:30

标签: email selenium xpath

我能够成功撰写电子邮件,但在添加邮件主题后..我无法找到任何元素XpathidclassName来输入正文邮件..

我用过: - 将电子邮件内容输入(发送密钥)到可编辑的div:" // div [@class =' gmail_default']" (或" // div [@ aria-label ='邮件正文']"),用于Gmail正文..

 driver.findElement(By.xpath("//div[@aria-label='Message Body']")).sendKeys("This is the test email send to test the selenium script.");

它工作了一次......之后就停止了工作。

请任何人帮忙...... ******************代码**********************

public class TestSelenium {
public static void main(String[] args) throws InterruptedException{

   System.setProperty("WebDriver.gecko.driver", "C:\\Users\\Administrator\\geckodriver-v0.14.0-win64\\geckodriver.exe");

    FirefoxDriver driver = new FirefoxDriver();
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    driver.get("http://www.gmail.com/");

    driver.manage().window().maximize();
    WebElement id =driver.findElement(By.xpath(".//*[@id='Email']"));
    id.click();
    id.sendKeys("Email");
    WebElement next = driver.findElement(By.xpath(".//*[@id='next']"));
    next.click();
    WebElement psw = driver.findElement(By.id("Passwd"));
    psw.clear();
    psw.sendKeys("Password");

    driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS);
    WebElement login = driver.findElement(By.xpath(".//*[@id='signIn']"));
    login.click();
    WebElement compose = driver.findElement(By.xpath(".//*[@id=':44']/div/div"));
    compose.click();
    WebElement to = driver.findElement(By.className("vO"));
    to.sendKeys("Email_id of Receiver");
    WebElement sub = driver.findElement(By.className("aoT"));
    sub.sendKeys("Login Successful");
    driver.findElement(By.xpath("//div[@aria-label='Message Body']")).sendKeys("This is the test email send to test the selenium script.");

    WebElement send = driver.findElement(By.xpath(".//*[@id=':8m']"));
    send.click();

} }

3 个答案:

答案 0 :(得分:0)

尝试使用:sub.sendKeys(Keys.TAB);

答案 1 :(得分:0)

我使用Firefox扩展程序为我提供了可点击的定位器列表。安装此,

https://addons.mozilla.org/en-GB/firefox/addon/element-locator-for-webdriv/?src=api

然后右键单击firefox窗口中电子邮件的正文,您将看到C#/ Java等选项。选择一个,然后将其用作您的webElement

答案 2 :(得分:0)

我试过下面的代码来找到元素并且它有效,我已经测试了4次并且它一直都有效。

但在此之前,请确保您已经等待打开Compose部分。

driver.findElement(By.xpath(“.//* [@ id =':n6']”))。sendKeys(“Balle Balle”);

希望这会对你有所帮助。如果这不能解决您的问题,请告诉我您面临的错误 谢谢,
Ed D,印度。