如何使用selenium处理弹出窗口

时间:2018-03-19 09:52:01

标签: selenium

我试图在弹出窗口中输入一些手机号码,但它无效  我正在使用这段代码

String parentWindowHandler = driver.getWindowHandle(); // Store your parent window
        String subWindowHandler = null;

        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

        // Now you are in the popup window, perform necessary actions here
        log.info("*****************");
        MobileNumber.sendKeys("999");

        driver.switchTo().window(parentWindowHandler);  // switch back to parent window

我可以打印log.info中提到但不能输入数字的星号

enter image description here

2 个答案:

答案 0 :(得分:0)

尝试以下更改:

driver.switchTo().window(subWindowHandler); // switch to popup window

内部&#34; 虽然&#34;循环。

答案 1 :(得分:0)

您尝试输入文本的元素尚未准备好接受输入。在发送手机号码

之前,尝试给出一些明确的等待
WebDriverWait wait=new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.visibilityOfElementLocated(MobileNumber)); 
MobileNumber.sendKeys("999");