Я искал решение почти 2 недели. Это было в 2019 году, и я даже не понял этого. Насколько я знаю, вы не можете установить прокси с именем пользователя / паролем. Раньше это было возможно с расширением, но сейчас этот способ недоступен. Есть способ сделать это с помощью webdrivers gem:
Если между вами и Inte * есть прокси-сервер rnet, вам необходимо настроить гем для использования прокси. Вы можете сделать это, вызвав метод configure.
Webdrivers.configure do |config|
config.proxy_addr = 'myproxy_address.com'
config.proxy_port = '8080'
config.proxy_user = 'username'
config.proxy_pass = 'password'
end
Однако я не смог заставить его работать в моем проекте. Единственное, что сработало, это настройка белого списка с моим IP на Прокси-сервере, поэтому мне не нужно устанавливать имя пользователя / пароль. Так что он работает без учетных данных, только так:
Capybara.register_driver :headless_chrome do |app|
client = Selenium::WebDriver::Remote::Http::Default.new
client.read_timeout = 60
capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
'goog:chromeOptions' => { args: %w[no-sandbox headless disable-gpu disable-dev-shm-usage
window-size=1280,1024 enable-features=NetworkService,NetworkServiceInProcess] },
'loggingPrefs' => { browser: 'ALL', client: 'ALL', driver: 'ALL', server: 'ALL' }
)
capabilities['goog:chromeOptions'][:args] << "user-agent=#{user_agent}" if user_agent
capabilities['goog:chromeOptions'][:args] << "proxy-server=http://#{proxy[:ip]}:#{proxy[:port]}" if proxy
Capybara::Selenium::Driver.new(app, browser: :chrome, desired_capabilities: capabilities, http_client: client)
end
Я знаю, что мой ответ - это не то, что вы искали, но, возможно, это поможет вам каким-то образом или вы sh исправите ваш ответ. Удачи