我正在尝试自动将图像文件上传到我没有更好的访问形式(FTP等)的服务器。我正在将Node.js与Selenium和Chromedriver一起使用,一切顺利,直到我需要模拟特殊键。我研究了一下,到目前为止一无所获。 Mac的具体答案是可以的。
我从某个地方的另一个答案尝试了这个,但它对我不起作用:
driver.findElement(webdriver.By.name(uploadName))
.click()
.sendKeys(Keys.COMMAND + Keys.SHIFT + 'g')
.sendKeys(imgPath)
.sendKeys(Keys.RETURN);
它失败了,因为Keys未定义,但我没有遇到任何其他方法来获取命令。
答案 0 :(得分:0)
经过进一步研究,似乎这是错误的做法。 Selenium和Chromedriver并不真正支持操作系统级别的交互,但有一种更简单的方法。
driver.findElement(webdriver.By.name(uploadName)).sendKeys(imgPath);
这将定位 uploadName ,然后将其传递给 sendKeys 的文件路径。这绕过了凌乱的OS文件对话框。