【发布时间】:2014-05-19 17:18:24
【问题描述】:
我正在尝试在 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>
我想做什么:
- 移除 class='hide';
- 带有文件路径的发送键,在取消隐藏元素后;
- 隐藏元素。
这是执行此操作的代码:
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"
我做错了什么?
【问题讨论】:
-
您当时是打开了 Chrome 开发者控制台还是偶然打开了 Firefox 开发者控制台?
-
是否 (webDriver.findElement(By.cssSelector(".upload>input"))) 找到一个元素?也许等待它首先出现。
标签: java javascript selenium selenium-webdriver