【问题标题】:Selenium Webdriver pass email to form by jsSelenium Webdriver 通过 js 传递电子邮件到表单
【发布时间】:2016-05-17 02:41:53
【问题描述】:

如何将电子邮件发送到this form

您只需点击“专业 - 开始免费试用”,这是我需要使用 selenium webdriver 传递电子邮件的地方。

【问题讨论】:

    标签: java google-chrome selenium-webdriver


    【解决方案1】:

    我注意到用于提供您的电子邮件的弹出窗口位于不同的框架中。您应该管理上下文切换:

    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

    希望对你有帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-05-26
      • 2018-08-09
      • 1970-01-01
      • 2014-04-30
      • 2013-01-05
      • 1970-01-01
      • 2013-10-05
      相关资源
      最近更新 更多