Selenium C# 单击边缘的“保存”

问题描述 投票:0回答:2

我看过很多关于如何在 Edge 的“另存为”窗口中单击“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]);

单击控件的第一部分有效,但第二部分应该有效,当出现“另存为”窗口时,将文件重命名为“test.pdf”,然后单击“返回”不起作用。将出现“另存为”窗口,但测试通过并且浏览器关闭,而“另存为”窗口保持打开状态。

我也尝试过 AutoIt,也发生了同样的事情。

c# selenium webdriver
2个回答
0
投票

我尝试了多种方法,但最终我只是坚持禁用它,要求下载 pdf 文件。遗憾的是,与 Chrome 相比,Edge 看起来确实很有限。


0
投票

请参阅我的答案此处,将网页保存为单个 MHTML 文件(html + 独立文件中的所有资源)

© www.soinside.com 2019 - 2024. All rights reserved.