【发布时间】:2016-05-17 02:41:53
【问题描述】:
如何将电子邮件发送到this form?
您只需点击“专业 - 开始免费试用”,这是我需要使用 selenium webdriver 传递电子邮件的地方。
【问题讨论】:
标签: java google-chrome selenium-webdriver
如何将电子邮件发送到this form?
您只需点击“专业 - 开始免费试用”,这是我需要使用 selenium webdriver 传递电子邮件的地方。
【问题讨论】:
标签: java google-chrome selenium-webdriver
我注意到用于提供您的电子邮件的弹出窗口位于不同的框架中。您应该管理上下文切换:
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class Email extends BrowserFunctions{
public static void main(String args[]) throws InterruptedException{
System.setProperty("webdriver.chrome.driver", "Drivers//chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.wrike.com/price/");
Thread.sleep(5000);
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", driver.findElement(By.id("start-free-trial-professional")));
Thread.sleep(5000);
driver.switchTo().defaultContent(); // you are now outside both frames
driver.switchTo().frame("ajaxIframeFeatures");
executor.executeScript("arguments[0].setAttribute('value', 'abc@gmail.com');", driver.findElement(By.id("email")));
executor.executeScript("arguments[0].click();", driver.findElement(By.id("start-project")));
Thread.sleep(5000);
}
}
很抱歉使用了太多的Thread.sleep(),这通常不是一个好习惯。如果您想提高性能,可以将其替换为WebDriverWait。
希望对你有帮助:)
【讨论】: