WordPress 的 rich text
采用js,先让selenium切换到iframe中
driver.switchTo().frame("content_ifr");
然后执行JS
WebElement editor = driver.findElement(By.tagName("body"));
JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
jsExecutor.executeScript("arguments[0].innerHTML = '<h1>Selenium Test </h1>I love Selenium <br> this article Post By Selenium WebDriver<br><h2>Create By Young</h2>'", editor);
为什么是innerHTML?
最后再切换出iframe
driver.switchTo().defaultContent();
public void post()
{
//login();
WebElement article=driver.findElement(By.xpath("//*[@id='menu-posts']/a/div[3]"));
article.click();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
WebElement newArticle=driver.findElement(By.linkText("写文章"));
newArticle.click(); WebElement title=driver.findElement(By.xpath("//*[@id='title']"));
title.sendKeys("I love Selenium"); driver.switchTo().frame("content_ifr");
WebElement editor = driver.findElement(By.tagName("body"));
JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
jsExecutor.executeScript("arguments[0].innerHTML = '<h1>Selenium Test </h1>I love Selenium <br> this article Post By Selenium WebDriver<br><h2>Create By Young</h2>'", editor); driver.switchTo().defaultContent(); WebElement submit =driver.findElement(By.xpath("//*[@id='publish']"));
submit.click(); try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} WebElement check=driver.findElement(By.xpath("//*[@id='message']/p"));
Assert.assertTrue(check.getText().contains("文章已发布")); }