簡體   English   中英

Selenium C# 點擊邊上的“保存”

[英]Selenium C# click "Save" on edge

我看過很多關於如何在 Edge 中的“另存為”window 上單擊“Enter”的帖子,但似乎都沒有用。 我正在嘗試在我的本地計算機上下載一個文件,但似乎 ctrl + s 有效但 enter 無效。 我正在使用以下內容:

using Framework.Core; 
using OpenQA.Selenium;
using OpenQA.Selenium.Support.UI;
using System;
using System.Threading;
using System.IO;
using System.Linq;
using OpenQA.Selenium.Interactions;
using Assert = Microsoft.VisualStudio.TestTools.UnitTesting.Assert;
using SeleniumExtras.WaitHelpers;

似乎沒有執行的代碼:

        driver.SwitchTo().Window(driver.WindowHandles[1]);
        Thread.Sleep(4000);          

        Actions savePDF = new Actions(driver);
        savePDF.KeyDown(Keys.Control)
           .SendKeys("s")
           .KeyUp(Keys.Control)
           .SendKeys("test.pdf")
           .SendKeys(Keys.Return)
           .Build()
           .Perform();

問題是當我要下載的發票生成時它會自動打開並聚焦新選項卡所以我不確定我是否需要 driver.SwitchTo().Window(driver.WindowHandles[1]);

它單擊控件的第一部分有效,但第二部分它應該有效,當“另存為”window 出現時將文件重命名為“test.pdf”,然后單擊“返回”不起作用。 “另存為”window 出現,但測試通過並且瀏覽器關閉,而“另存為”window 保持打開狀態。

我也嘗試過 AutoIt 並且發生了同樣的事情。

我嘗試了多種方法,但最后我只是堅持禁用它,要求以 pdf 格式下載。 遺憾的是,與 Chrome 相比,Edge 看起來真的很有限。

暫無
暫無

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

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