Tag: automation

与其他应用程序交互(例如单击按钮)

我正在尝试在工作中自动执行许多重复性任务,这个小问题让我感到难过。 我们正在使用一个应用程序来打印在线订单的标签,过程是这样的。 点击订单 查看订单详情并点击“完成” 5秒的程序计算 确认您要打印标签 标签打印,你就完成了 在繁忙的日子里,我们必须通过这个过程超过500个订单,因为此任务因为步骤3而消耗了大量无用的时间。用户必须等待这5秒才能单击“打印”按钮。 假设我们有500个订单,即500次5秒,大约40分钟。 整个发送过程花费2个小时,因此有33%的时间因人们等待点击按钮而丢失。 我正在尝试找到一种自动执行步骤4的方法,以便用户在完成步骤2后可以停止与应用程序交互。 那么有没有办法使用C#从另一个应用程序中单击另一个表单中的按钮? 弹出确认屏幕时,必须触发该事件。 请注意,此确认屏幕不是默认的Windows打印对话框,而是应用程序的一部分,因此不会弄乱首选项。

在C#中与网页交互

有一个使用ColdFusion创建的网站(不确定这是否重要)。 我需要与这个网站互动。 我需要做的主要事情是导航到不同的页面并单击按钮。 我想出了两个关于如何做到这一点的想法。 第一种是使用WebBrowser控件。 有了这个,我当然可以浏览页面,然后点击按钮(根据这个 )。 另一种方法是直接与html交互。 不确定如何做到这一点,但我假设我可以点击按钮或使用HTML请求与页面进行交互。 有没有人建议哪种方式更好? 有没有更好的方式我没有想到?

如何从Microsoft Excel获取滚动位置

使用Microsoft Office自动化时,我想将图像插入电子表格中。 如何确定当前用户的滚动位置?

更改每个文件的下载位置和名称

我正在使用Selenium和Chrome WebDriver进行自动化。 应用程序必须执行一系列需要使用不同名称(数据+报告类型)保存的下载以及与我正在下载的报告类型相匹配的文件夹。 问题是我只能在实例化新驱动程序时设置默认目录 var chromeOptions = new ChromeOptions(); chromeOptions.AddUserProfilePreference(“download.default_directory”, downloadDirectory); chromeOptions.AddUserProfilePreference(“intl.accept_languages”, “nl”); chromeOptions.AddUserProfilePreference(“disable-popup-blocking”, “true”); IWebDriver driver = new ChromeDriver(@”location chromeDriver”, chromeOptions); driver.Navigate().GoToUrl(url); 因此,我无法重命名文件名或选择相应的目录。 有谁知道我怎么能这样做?

Microsoft.Office.Interop.Excel.Worksheet.Cells .Style?

我找到了一些使用Microsoft.Office.Interop.Excel.Worksheet.Cells[x,y] Style属性的代码,但它在我的Visual Studo代码编辑器中被视为一个对象: Workbook wb = new Application.Workbooks.Add(XlWBATemplate.xlWBATWorksheet); Worksheet ws = wb.Sheets[1]; ws.Cells[x,y] is simply treated as an object so how can I use its Style property? 我正在使用Microsoft Excel 15.0对象库(与Microsoft Office 2013一起使用)。 那有关系吗? 你可以向我解释一下吗? 谢谢。

呼叫被被叫方拒绝了。 (来自HRESULT的exception:0x80010001(RPC_E_CALL_REJECTED))

我有一个小的C#Winforms应用程序,它使用Word.Interop获取单个邮件合并文档,复制每个部分,将该部分粘贴到它自己的文档中,并单独保存。 我保持(有时随机)收到错误消息: Call was rejected by callee. (Exception from HRESULT: 0x80010001 (RPC_E_CALL_REJECTED)) Call was rejected by callee. (Exception from HRESULT: 0x80010001 (RPC_E_CALL_REJECTED)) 。 我测试了下面的代码,当我使用断点时,我从未收到过此消息。 但是,如果我让它运行不受限制,它似乎在我的行oNewWord.ActiveDocument.Range(0, 0).Paste(); 。 什么是更奇怪的,有时候我得到了预期的消息,其他时候处理似乎只是挂起,当我在Visual Studio中按PAUSE时,它显示我当前在我的exception消息框行。 有谁知道如何解决这个问题? 码: public void MergeSplitAndReview() { try { // Mail Merge Template Word.Application oWord = new Word.Application(); Word.Document oWrdDoc = new Word.Document(); // New Document Instance […]

在c#中将Doc自动化为PDF

我有大约200字的文件,我需要pdf。 显然,我不能逐个pdf它们,首先它需要很长时间,其次我确信这样做不是好习惯。 我需要找到一种自动化转换的方法,因为我们需要一次又一次。 我使用C#,但解决方案不一定必须在c#中,但它是首选。 我看过几个库,比如PDfCreator,Office 2007加载项,ITextSharp等等,论坛上没有任何明确的答案。 PDFCreator有c#sample,但它只适用于txt文件。 Office 2007添加没有文档锁定function,这是自动化必须的。 以前有人实施过这样的场景吗? 我希望你能听到你的建议。 提前致谢 问候

使用UI自动化以编程方式打开上下文菜单

我正在尝试使用UI自动化实现右键单击上下文菜单。 由于UI自动化没有本机右键单击模式,因此我将ExpandCollapse提供程序添加到listview的AutomationPeer类,并将展开和折叠映射到打开和关闭上下文菜单。 我的问题是,是否有更好的方法来调用上下文菜单,而不涉及尝试使用私有构造函数实例化类? 我不能使用带Shift-F10的SendKeys。 我想使用PopupControlService,但标记为内部。 我糟糕的解决方法: public class MyListViewAutomationPeer : ListViewAutomationPeer, IExpandCollapseProvider { public MyListViewAutomationPeer(MyListView owner) : base(owner){} public override object GetPattern(PatternInterface patternInterface) { if (patternInterface == PatternInterface.ExpandCollapse) { return this; } return base.GetPattern(patternInterface); } public void Expand() { MyListView owner = (MyListView)Owner; //********************** //Ouch!!! What a hack //********************** //ContextMenuEventArgs is a sealed class, with […]

如何从命令提示符执行NUnit测试用例

如何使用NUnit从Command Console执行测试用例? 我有一套基于NUnit框架用C#编写的Selenium Tests。 我只需要从命令控制台运行就可以执行测试用例。 在JUnit中,我们可以从cmd运行测试用例 java junit.swingui.TestRunner test.Run 我们怎么能在NUnit上面做?

模拟“Windows”键和“+”键放大

Windows 7(最后)具有内置的屏幕缩放function。 按住“Windows”键,然后可以使用“+”键放大,使用“ – ”键缩小。 结果我一直试图模拟这种组合。 使用AutoIt我尝试过: 1) Send(“{LWINDOWN}” & “+” & “{LWINUP}”) 2) $x = Chr(43) Send(“{LWINDOWN}” & $x & “{LWINUP}”) 3) Send(“#{+}”) ;//works but it also sends “+” key 4) Send(“{LWINDOWN}”) Sleep(10) Send(“+”,1) Sleep(10) Send(“{LWINUP}”) 这四个步骤都不起作用…… 我实际上想在c#上使用这个function。 如果我设法用autoit做到这一点,我可以用c#调用那个脚本,所以我不介意langauage。 我也在模拟按键,因为我不知道如何使用c#进行放大。