【问题标题】:Selenium sendkeys enter pipe ( | ) for backslash (\)Selenium sendkeys 为反斜杠 (\) 输入管道 (|)
【发布时间】:2018-10-09 19:00:10
【问题描述】:

在 selenium sendkeys 中,有时反斜杠 (\) 被替换为竖线 (|) 符号。这个问题是一个零星的问题。 下面是我用过的代码sn-p

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

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

【问题讨论】:

    标签: selenium sendkeys


    【解决方案1】:

    @马兰

    根据您使用的语言,修复绝对路径的解决方案很少。

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

    【讨论】:

      猜你喜欢
      • 2021-12-10
      • 2021-12-31
      • 2013-04-15
      • 1970-01-01
      • 1970-01-01
      • 2019-08-25
      • 1970-01-01
      • 1970-01-01
      • 2017-07-25
      相关资源
      最近更新 更多