如何从本地计算机访问远程客户端上下载的文件

How to accessing a downloaded files on remote client from local machine

提问人:Srijith Seetharaman 提问时间:4/14/2023 最后编辑:Srijith Seetharaman 更新时间:4/17/2023 访问量:66

问:

我有一个Selenium浏览器配置设置,其设置如下:

download_path = '/Users/my.user/Downloads'

# Setting capabilities for my browser
caps = Selenium::WebDriver::Remote::Capabilities.chrome
caps['goog:chromeOptions'] = {
  'prefs' => {
    'download.default_directory' => download_path,
    'download.prompt_for_download' => false,
    'profile.default_content_settings.popups' => 0
  },
  'args' => [
    # 'disable-dev-shm-usage',
    'no-sandbox',
    'disable-popup-blocking',
    'window-size=1400,900',
    'disable-extensions',
    'disable-gpu'
  ]
}
caps['goog:chromeOptions']['prefs']['plugins.always_open_pdf_externally'] = true

# Trying to run this in AWS DeviceFarm
devicefarm = Aws::DeviceFarm::Client.new(region: 'us-west-2', access_key_id: ACCESS_KEY_ID,
                                         secret_access_key: SECRET_ACCESS_KEY)
test_grid_url_response = devicefarm.create_test_grid_url(project_arn: ARN, expires_in_seconds: 3000)
remote_url = test_grid_url_response.url

# Setting up a HTTP client to run it in DeviceFarm
client = Selenium::WebDriver::Remote::Http::Default.new
client.read_timeout = 5000

# Setting up the browser
driver = Selenium::WebDriver.for :remote, http_client: client, url: remote_url, capabilities: caps
url = 'https://www.google.com/'
driver.manage.timeouts.implicit_wait = 30

我正在尝试从本地计算机访问 Windows 远程计算机上下载的文件,但我无法访问。

我有一个为文件上传编写的 lambda,它是这样的:

driver.file_detector = lambda do |args|
          str = args.first.to_s
          str if File.exist?(str)
        end

但是我无法从本地计算机访问任何远程下载的文件。

谁能提出任何方法来完成同样的事情?

我尝试了基于Ruby的,但失败了,并显示以下错误消息:File.open("C:\\Users\\testnode\\Downloads\\file_name")

./sample.rb:46:in `initialize': No such file or directory @ rb_sysopen - C:\Users\testnode\Downloads\file_name
 (Errno::ENOENT)
        from ./sample.rb:46:in `open'
        from ./sample.rb:46:in `<main>'
ruby amazon-web-services aws-device-farm selenium-remotedriver

评论

0赞 JeffC 4/14/2023
which has failed.错误消息是什么?将完整的错误消息以文本形式编辑到您的问题中。
0赞 Srijith Seetharaman 4/17/2023
@JeffC 感谢您的输入;我现在已经将完整的错误消息编辑到问题中。

答:

0赞 Jason 4/14/2023 #1

下载的文件位于远程计算机上,而不是运行 ruby 代码的本地。要访问该文件,您需要使用 ftp 库或其他一些与网络相关的编程方法来访问计算机以读取该文件。