Python Selenium Chrome: используйте внутренний IP вместо внешнего IP - PullRequest
0 голосов
/ 10 октября 2019

У меня есть следующая часть кода:

chrome_opts = webdriver.ChromeOptions()
chrome_opts.add_argument("--no-sandbox")
chrome_opts.add_argument("--disable-infobars")
chrome_opts.add_argument("--disable-browser-side-navigation")
chrome_opts.add_argument("--disable-dev-shm-usage")
chrome_opts.binary_location = self._chrome_binary_location
url = "http://<ip>:<port>/<endpoint>"
self._browser = Browser(
        'chrome', headless=False, executable_path=self._chrome_executable_path,
        options=chrome_opts, wait_time=0.1
    )
self.open(url)
if self._cookies:
    self._browser.cookies.add(self._cookies)
self.refresh_page()

Это работает как отдельная докерская служба, которая делает снимки экрана. Он отлично работает на общедоступных серверах, но в случае развертывания приложения в общедоступной сети возникают некоторые проблемы, поскольку вызовы перенаправляются на внешний IP-адрес, а не на внутренний, и он недоступен.

Я пытался добавитьдополнительный аргумент Chrome:

chrome_opts.add_argument("--proxy-server=<internal_ip>")

Но это также не работает. Браузер запускается, но не может войти в систему. Проблема с файлами cookie?

Итак, вот мой вопрос: возможно ли справиться с этой ситуацией, чтобы перенаправить все запросы на внутренний IP-адрес или на внешний?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...