硒sendkey输入管道(|)以反斜杠(\)

时间:2018-10-09 10:28:59

标签: selenium sendkeys

在硒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

有人可以解释这个零星的问题吗?是否有正确的方法输入给定的文本或解决此问题?

1 个答案:

答案 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);