如何从Selenium中的Node上传文件/多个文件

时间:2017-01-24 20:46:22

标签: java selenium automation grid webdriver

在我的网络自动化上,我试图使用不起作用的代码:

 WebElement El = driver.findElement((By.xpath(".//*[@id='app']/div[1]/div[2]/div[1]/div/div[2]/form/label/span[1]/span")));
        ((RemoteWebElement) El ).setFileDetector(new LocalFileDetector());
        El.sendKeys("~/Documents/Data/20_10MB/176H.jpg");

问题在于它无法找到元素。位于网站上的元素只有Xpath。它没有任何其他唯一ID。

我需要编写测试,上传1个或多个文件(最多10 000个)或整个文件夹。我怎么能在mac上做到这一点?

当前设置是Hub,它将调用Node机器上的测试。 机器人不起作用,因为它只会自动化本地机器上的键。 什么是可行的解决方法?

1 个答案:

答案 0 :(得分:0)

似乎您正在尝试处理错误的元素,因为span不是您需要的。请尝试以下代码:

WebElement El = driver.findElement((By.xpath("//input[@type='file']")));
El.sendKeys("~/Documents/Data/20_10MB/176H.jpg");