Автоматизация: как получить загруженный путь к файлу, который был загружен из веб-браузера - PullRequest
0 голосов
/ 05 мая 2020

Я пишу сценарий автоматизации для загрузки файла Excel по ссылке, открытой с помощью Chrome браузера. Есть ли возможность получить полный путь к загруженному местоположению? Этот сценарий будет запускаться на разных машинах. Поэтому я не хочу указывать место загрузки по умолчанию в моей системе и искать файл по этому пути.

Я также пробовал использовать Windows CMD, где я ввожу имя файла в CMD, выполняет поиск по всей системе и тянет путь. Но на выполнение этого поиска уходит от 2 до 3 минут. Есть ли какой-нибудь более эффективный метод, например использование JavaScript для более быстрого получения загруженного местоположения?

Ниже представлена ​​команда windows, которую я пробовал (занимает от 2 до 3 минут) ..

for /f "delims=" %i in ('dir "<FILENAME>" /b/a-d/od/t:c/s') 
DO echo %i > %tmp%\lastfile.txt

1 Ответ

0 голосов
/ 05 мая 2020

То же самое и в JScript. Он записывает веб-файл в стандартный вывод.

Sub HttpGet
    On Error Resume Next
    Set File = CreateObject("Microsoft.XMLHTTP")
    File.Open "GET", Arg(1), False
    File.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30618; .NET4.0C; .NET4.0E; BCD2000; BCD2000)"
    File.Send
    txt=File.ResponseText
    'Putting in line endings
    Outp.write txt
    If err.number <> 0 then 
        Outp.writeline "" 
        Outp.writeline "Error getting file" 
        Outp.writeline "==================" 
        Outp.writeline "" 
        Outp.writeline "Error " & err.number & "(0x" & hex(err.number) & ") " & err.description 
        Outp.writeline "Source " & err.source 
        Outp.writeline "" 
        Outp.writeline "HTTP Error " & File.Status & " " & File.StatusText
        Outp.writeline  File.getAllResponseHeaders
        Outp.writeline LCase(Arg(1))
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...