Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用Selenium web驱动程序上载文件/句柄窗口_C#_Selenium_Selenium Webdriver - Fatal编程技术网

C# 如何使用Selenium web驱动程序上载文件/句柄窗口

C# 如何使用Selenium web驱动程序上载文件/句柄窗口,c#,selenium,selenium-webdriver,C#,Selenium,Selenium Webdriver,我正在尝试自动化一个场景,在这个场景中,我必须上载文档,但一旦单击web应用程序上的“选择文件”按钮,我就无法处理文件上载窗口 我使用的是C语言和Chrome浏览器。Selenium没有任何内置功能来处理文件上传/与windows对话(打印对话)/windows弹出窗口交互 如果要与windows对象交互,可以使用 它是与windows对象交互的一个很好的工具,并且非常容易使用。请参阅下面的链接以了解要使用的步骤 如果文件元素具有'input type=File',则可以尝试以下操作: 元素(b

我正在尝试自动化一个场景,在这个场景中,我必须上载文档,但一旦单击web应用程序上的“选择文件”按钮,我就无法处理文件上载窗口


我使用的是C语言和Chrome浏览器。

Selenium没有任何内置功能来处理文件上传/与windows对话(打印对话)/windows弹出窗口交互

如果要与windows对象交互,可以使用

它是与windows对象交互的一个很好的工具,并且非常容易使用。请参阅下面的链接以了解要使用的步骤


如果文件元素具有
'input type=File'
,则可以尝试以下操作:
元素(by.css('input[type=“file”])).sendKeys(pathToFile)

这将不会打开文件上载窗口对话框。而是将所需的值发送到输入文件字段

有关详细信息,请参阅以下链接:


问候,
Sakshi

我的C#测试用例:

您可以使用SendKeys

using System.Windows.Forms;

SendKeys.SendWait(@"C:\temp\file.txt");
SendKeys.SendWait(@"{Enter}");

你试了什么?你有任何错误信息吗?请阅读并编辑您的问题以提高收到答案的机会:)您是否尝试使用SendKeys(文件路径)?尝试使用上述方法发送文件路径,而不是单击“选择文件”。在大多数情况下,Selenium提供上载文件的功能@SakshiSingla Selenium只能处理浏览器控件,不能处理操作系统控件。如果您的web应用程序使用浏览器控件处理文件上载,则可以使用selenium。如果不处理那些使用一些第三方工具或编码语言功能。是的,你是对的,但是你的回答给出了一幅Selenium无法处理文件上传的图片。请编辑您的答案以包含上述信息。@SakshiSingla我的答案是针对提问的,而不是一般性的。在上面提到的问题中,文件上载窗口不是浏览器窗口,它是操作系统特定的窗口,无法由Selenium处理。再次阅读问题和我的答案,了解Ravi面临的问题。如果我们单击web应用程序上的文件上载按钮,则行为将是Windows对话框将打开。但是,同样的功能可以在Selenium中以不同的方式处理(实际上不打开windows对话框)。如果不能用Selenium处理,那么AUtoIt是一个很好的选择谢谢你,Sakshi,谢谢你的回答,这是我控制的来源:Choose File是建议的适合你的方法有一些错误吗?不幸的是,没有!正如下面vara prasad提到的,我可能不得不使用第三方工具/自己编写的包装器来处理此类windows弹出窗口,除非你们建议其他解决方法。使用上述方法时会出现什么错误/输出?
using System.Windows.Forms;

SendKeys.SendWait(@"C:\temp\file.txt");
SendKeys.SendWait(@"{Enter}");