Thi*_*vam 5 java testing selenium automation selenium-webdriver
我有一个 HTML 页面,带有名为“上传”和 id: 的按钮btn-import-questions
。元素:
<button class="btn btn-success btn-sm col-lg-11" id="btn-import-questions" data-ts-file-selector="questions-import-init"> Upload <i class="fa fa-upload"></i></button>
Run Code Online (Sandbox Code Playgroud)
我尝试了这样的 Selenium Java 代码:
driver.findElement(By.id("btn-import-questions")).sendkeys("C:/path/to/file.xlsx");
但由于这是一个上传按钮而不是输入类型元素,所以上面的代码不起作用。
检查 DOM 因为某处必须有一个<input type="file">
. 网站的 javascript 将调用此元素的 .click() 以弹出文件选择器对话框,并通过选择关闭对话框将提供路径。使用 Selenium 可以通过 .sendkeys() 实现相同的效果:
driver.findElement(By.xpath("//input[@type=\"file\"]")).sendkeys(localFilePath);
Run Code Online (Sandbox Code Playgroud)
你做得几乎正确,除了sendKeys()
应该在输入上调用,也就是说type="file"
,在你的情况下很可能是不可见的。如果是这种情况,请首先使该元素可见:
归档时间: |
|
查看次数: |
12771 次 |
最近记录: |