我能够成功撰写电子邮件,但在添加邮件主题后..我无法找到任何元素Xpath
或id
或className
来输入正文邮件..
我用过: - 将电子邮件内容输入(发送密钥)到可编辑的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();
} }
答案 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,印度。