在硒sendkey中,有时将反斜杠(\)替换为竖线(|)符号。这个问题是偶发的问题。 以下是我使用的代码段
aItDriver.switchTo().window("[TITLE:Choose File to Upload]");
aItDriver.getKeyboard().sendKeys(new String[]{"I:\Downloads\fileName.txt" + Keys.ENTER});
在这里,我们使用了autoit(aItDriver)驱动程序来输入文件上传屏幕的文件路径,
文件上传屏幕的预期输出为:
I:\ Downloads \ fileName.txt
但是在极少数情况下,我们会看到以下文本输入到上载窗口文本框中。
I:| Downloads \ fileName.txt
有人可以解释这个零星的问题吗?是否有正确的方法输入给定的文本或解决此问题?
答案 0 :(得分:1)
@Marlan
根据您使用的语言,很少有解决绝对路径的方法。
在Java中,您可以尝试:
public static void main(String[] args) throws IOException {
Path path = Paths.get("myFile.txt");
Path absolutePath = path.toAbsolutePath();
System.out.println(absolutePath.toString());
}
之后,您可以只使用element.sendKeys(absolutePath.toString()); 上传文件
使用JavaScript:
const path = require('path');
let absoluteFilePath = path.resolve('myFile.txt');
element(by.id('something').sendKeys(absoluteFilePath);