Я заметил, что всплывающее окно для предоставления вашей электронной почты находится в другом кадре. Вы должны управлять переключением контекста:
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', '[email protected]');", driver.findElement(By.id("email")));
executor.executeScript("arguments[0].click();", driver.findElement(By.id("start-project")));
Thread.sleep(5000);
}
}
Извините за использование слишком много Thread.sleep()
, это не очень хорошая практика в целом. Вы можете заменить его на WebDriverWait
, если хотите улучшить производительность.
Надеюсь, это поможет :)