Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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浏览并上传文件_C#_Selenium - Fatal编程技术网

c#selenium浏览并上传文件

c#selenium浏览并上传文件,c#,selenium,C#,Selenium,在我的selenium c#windows窗体应用程序中,我有一个类似上载doc/docx文件的场景。我已经在另一个案例中完成了上传。因为它在浏览按钮前面有一些文本框,我使用 IWebElement element = driver.FindElement(By.Id("uploadhere")); element.SendKeys("C:\\Some_Folder\\MyFile.txt"); 但是在我现在的场景中,我不能使用这个代码。下面的图片显示了“上载文件”对话框。我在谷歌上搜索了很多

在我的selenium c#windows窗体应用程序中,我有一个类似上载doc/docx文件的场景。我已经在另一个案例中完成了上传。因为它在浏览按钮前面有一些文本框,我使用

IWebElement element = driver.FindElement(By.Id("uploadhere"));
element.SendKeys("C:\\Some_Folder\\MyFile.txt");
但是在我现在的场景中,我不能使用这个代码。下面的图片显示了“上载文件”对话框。我在谷歌上搜索了很多,但找不到一个适合我需要的…我可以点击浏览按钮,但不能选择一个文件。Firebug和selenium IDE似乎没有什么用处


有人能帮我吗?如果您有任何意见,我们将不胜感激。

因为这是一个操作系统对话框,您无法使用selenium处理它,所以您可以使用java脚本执行器 检查此链接
我们无法通过Selenium处理windows fileOpenDialog。 我们必须使用任一Javascript执行器,但有时仍然不可能使用Javascriptexecutor。它不会执行。它给出空值错误。 例如:

如果你在下面的链接上访问naukri.com 或


上传文件

javascript和selenium无法识别browse元素

然后,我们必须使用第三方工具(如点位置)来计算“浏览文件”按钮的x&Y坐标,然后,我们可以使用C#.Net低级鼠标单击手柄来单击它,或者我们可以使用AutoIt工具来处理wondows弹出窗口。 要了解更多信息,请访问


您将通过一个示例获得解决方案。

我假设这是在Firefox中?你犯了什么错误?上传控件周围的HTML是什么?@Arran:你说得对..没有错误..甚至我都无法使用firebug或selenium RC获取属性…可能是重复的,但在这一行((IJavascriptExecutor)驱动程序)。executeScript(脚本);我遇到一个错误,例如找不到类型或命名空间名称“IjavasscriptExecutor”。为什么会这样?我已经声明IjavascriptExecutor为IjavascriptExecutor js=驱动程序为IjavascriptExecutor;并尝试使用js.executescript(脚本);但这也帮不了我..你的javascriptExecutor声明为js,你使用的是不同的名称,我想。。。试试js。ExecuteScript(脚本)已经告诉你它也不工作。当它被尝试时,错误是名称js在当前上下文中不存在。而我在程序初始化时声明了相同的名称。现在错误消失了…但是你能告诉我清楚吗,你给我的链接中的这个文档是什么?检查一下这个链接,它解释了关于js的基本内容,因为我不太精通Javascript
<input type="file" id="browsecv" name="browsecv"></input>