簡體   English   中英

無法關閉 selenium 中的上傳文件 window

[英]Can not close upload file window in selenium

我有一個問題要嘗試解決。 我的網頁中有一個屏幕,它打開一個對話框來上傳文件。 我設法 select 文件,但是對話框沒有關閉,並保持打開狀態。 所以我不能繼續屏幕上的其他事情。 我想關閉對話框。 我嘗試關閉驅動程序,它關閉了 web 頁面。 我嘗試在所有打開的 windows 中創建一個 function,但找不到對話框。 如何關閉此對話框? 這是我所做的,因為它無法識別對話框,所以它不起作用。 (說只有一個 window 被打開)問題是在開發工具中我沒有找到關閉此對話框的定位器,因為我無法檢查它,有人可以建議如何關閉它嗎? 由於瀏覽器卡住了,

 Thread.sleep(8000);
        Set <String> w = deiver2.getWindowHandles(); // create set of all windows
        deiver2.switchTo()
                .activeElement();
        System.out.println("Window title: "+ deiver2.getTitle());

        deiver2.findElement(By.xpath("//input[@type='file']"))
        .sendKeys(
                "X:\\AutomationFiles\\yoyoy.pdf");
        for (String h: w){
            deiver2.switchTo().window(h);
            String s= deiver2.getTitle();
            System.out.println("Window title: "+ deiver2.getTitle());
            if(s.equalsIgnoreCase("Open")){
                System.out.println("Window title to be closed: "+ deiver2.getTitle());
                deiver2.close();
            }
        }
        deiver2.switchTo().window(base);
        System.out.println("END");

在此處輸入圖像描述

在此處輸入圖像描述

這很可能是一個單獨的瀏覽器 window 並擁有自己的開發工具。 要驗證這一點,您可以將其聚焦並按F12 for the dev console 我看到您已經獲得了 window 手柄。 放置一個調試器並嘗試使用開發工具來做這件事。 您將獲得選擇器,當您處於斷點下時,您可以在開發工具中使用它

我找到的解決方案就是不要打開 select 文件對話框。 我看到如果我只是將密鑰發送到輸入而不單擊上傳文件按鈕,則打開的對話框正在工作

 public  void uploadFile() throws Exception {
    WebDriver deiver2 = getWebDriver();
 
    Thread.sleep(3000);
    deiver2.switchTo()
            .activeElement();
    deiver2.findElement(By.xpath("//input[@type='file']"))
    .sendKeys(
            "X:\\AutomationFiles\\yyyyyy.pdf");

    System.out.println("END");

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM