提问人:Srijith Seetharaman 提问时间:4/14/2023 最后编辑:Srijith Seetharaman 更新时间:4/17/2023 访问量:66
如何从本地计算机访问远程客户端上下载的文件
How to accessing a downloaded files on remote client from local machine
问:
我有一个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>'
答:
0赞
Jason
4/14/2023
#1
下载的文件位于远程计算机上,而不是运行 ruby 代码的本地。要访问该文件,您需要使用 ftp 库或其他一些与网络相关的编程方法来访问计算机以读取该文件。
评论
which has failed.
错误消息是什么?将完整的错误消息以文本形式编辑到您的问题中。