Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.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
Javascript 使用Webdriver上载文件:sendKeys()之后不会发生任何事情_Javascript_Java_Html_Selenium - Fatal编程技术网

Javascript 使用Webdriver上载文件:sendKeys()之后不会发生任何事情

Javascript 使用Webdriver上载文件:sendKeys()之后不会发生任何事情,javascript,java,html,selenium,Javascript,Java,Html,Selenium,我正在尝试通过SeleniumWebDriver自动上传文件 我在stackoverflow上阅读了很多关于这个主题的问题,并使用了这里给出的所有提示,我的代码实际上正在测试页面上运行: 但我不能让它在我真正的项目上工作。 首先-我的输入字段是不可见的,因此我使用以下方法使其可见: js.executeScript("arguments[0].setAttribute('style', arguments[1])",element, "opacity:100; width:50px"); 我验

我正在尝试通过SeleniumWebDriver自动上传文件

我在stackoverflow上阅读了很多关于这个主题的问题,并使用了这里给出的所有提示,我的代码实际上正在测试页面上运行:

但我不能让它在我真正的项目上工作。 首先-我的输入字段是不可见的,因此我使用以下方法使其可见:

js.executeScript("arguments[0].setAttribute('style', arguments[1])",element, "opacity:100; width:50px");
我验证了该字段确实变得可见。 然后通过sendKeys()方法发送文件的绝对路径:

但当我尝试检查字段的值时:

String v=elem.getAttribute("value");
它总是空的

我试图向文件发送不正确的路径,但这段代码给了我一个错误——不是绝对路径,所以它确实试图向输入字段发送一些内容

我想这与测试网页的代码有关,但我没有足够的知识来分配问题

输入元素的HTML代码如下所示:

<input type="file" data-bind="attr: {id: uid, name: inputName, multiple: isMultipleFiles}, disable: disabled, afterRender: onElementRender">

以下代码在C中对我有效#

在命名空间中使用System.Windows.Forms;“添加


在参考中添加
“System.Windows.Form”
,您可能会发现这是因为文件路径无效。确保:

  • 这条路是正确的
  • 该文件存在且可读
  • 路径已满且不是相对路径
  • 绝对路径(不包含..)
  • 你的斜杠正朝着操作系统的正确方向前进(有些浏览器在意,有些不在意)
我发现,当我引入一个..时,这个功能就悄悄地停止了工作。。进入小路

<input type="file" data-bind="attr: {id: uid, name: inputName, multiple: isMultipleFiles}, disable: disabled, afterRender: onElementRender">
SendKeys.SendWait(@"D:\filename");

SendKeys.SendWait(@"{Enter}");