使用selenium webdriver处理加载文件对话框

时间:2014-05-19 17:18:24

标签: java javascript selenium selenium-webdriver

我试图处理“选择要加载的文件”。在selenium webdriver的帮助下进行对话。 这是HTML:

<form class="upload">
    <button class="btn" data-capture="" type="button">Browse</button>
    <input class="hide" type="file" accept="..." multiple="" data-file-input=""/>
</form>

我想做的事情:

  1. 删除课程=&#39;隐藏&#39;;
  2. 带文件路径的senndkeys,取消隐藏elemnt后;
  3. 隐藏元素。
  4. 以下是执行此操作的代码:

    JavascriptExecutor js = (JavascriptExecutor) webDriver;
    js.executeScript("$('.hide:not(.layout)').removeClass('hide')");
    (webDriver.findElement(By.cssSelector(".upload>input"))).sendKeys("path_to_file");
    js.executeScript("$('.hide:not(.layout)').addClass('hide')");
    

    但我在第3行得到例外:

    "Runtime.evaluate threw exception: TypeError: Cannot read property 'click' of null"
    

    我做错了什么?

1 个答案:

答案 0 :(得分:0)

谢谢你,user1433852。看起来这个问题确实在等待。在添加等待ajax后,它开始工作!