繁体   English   中英

使用Selenium WebDriver处理加载文件对话框

[英]Handling load file dialog with 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. 删除class ='hide';
  2. 取消隐藏elemnt后,带有文件路径的senndkeys;
  3. 隐藏元素。

这是执行此操作的代码:

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')");

但是我在第三行有例外:

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

我究竟做错了什么?

谢谢user1433852。 看来问题确实在于等待。 添加等待的ajax后,它开始工作!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM