[英]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.