シナリオは、クリックするとボタンがあり、このポップアップが添付画像として開きます。そして、その中にデータを入力して、送信ボタンをクリックする必要があります。以下のコードを使用してこのポップアップに切り替えることはできません:
Set<String> handles = driver.getWindowHandles(); // get all window handles
Iterator<String> iterator = handles.iterator();
while (iterator.hasNext()){
subWindowHandler = iterator.next();
}
driver.switchTo().window(subWindowHandler); // switch to popup window
どんな助けでもありがたいです。
ブラウザを起動した後、このコードを試すことができます:
ウィンドウ/アラートがないため、切り替える必要はありません。
開いたポップアップは単なるDivです。
driver.manage().window().maximize();
driver.get("http://41.33.122.55:3333/users/login");
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.elementToBeClickable(By.id("username"))).sendKeys("alaatest");
wait.until(ExpectedConditions.elementToBeClickable(By.id("password"))).sendKeys("QWERTY123");
WebElement loginButton = wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("button.btn.btn-white-rounded.login-btn")));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", loginButton);
WebElement creaetAccount = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//a[text()='Add new Account']")));
executor.executeScript("arguments[0].click();", creaetAccount);
wait.until(ExpectedConditions.elementToBeClickable(By.name("firstName"))).sendKeys("Ali");
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加