Selenium sendkeys输入管道(|)作为反斜杠(\)

Selenium sendkeys输入管道(|)作为反斜杠(\),selenium,sendkeys,Selenium,Sendkeys,在selenium sendkeys中,反斜杠(\)有时会替换为管道(|)符号。这是一个零星的问题。 下面是我使用的代码片段 aItDriver.switchTo().window("[TITLE:Choose File to Upload]"); aItDriver.getKeyboard().sendKeys(new String[]{"I:\Downloads\fileName.txt" + Keys.ENTER}); 在这里,我们使用autoit(aItDriver)驱动程序输入文件上

在selenium sendkeys中,反斜杠(\)有时会替换为管道(|)符号。这是一个零星的问题。 下面是我使用的代码片段

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:|下载\fileName.txt

有人能解释一下这个零星的问题吗?是否有正确的方法输入给定的文本或修复此问题?

@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);