我有一個名為“Kenbot”的 Ken**** 股票購買機器人(Ken**** 是一家股票經紀公司),它已經運行了一年,我大部分時間都在試圖解決這些問題。直到最近,我有一個新的回溯,我很難過。它僅在某些日子偶爾發生,而在其他日子不會發生。
每天早上開市前,Kenbot 通過我的 Synology NAS 在 docker 鏡像(selenium/standalone-chrome:latest)上運行,它會為少數股票下訂單。它通過硒作業。
現在,除了使用 @retry 裝飾器之外,我沒有其他解決方案,如果遇到 WebDriverException,它將重新嘗試下庫存訂單。
我該如何解決這個問題?
Traceback (most recent call last):
File "/volume1/homes/admin/Drive/stock/order/downloadContractNote.py", line 23, in main
with docker_selenium() as _, Kenbot(headless=True) as bot:
File "/volume1/homes/admin/Drive/stock/logs/logger.py", line 58, in wrapper
return func(*args, **kwargs)
File "/volume1/homes/admin/Drive/stock/order/kenbot.py", line 100, in __init__
self.bot.login()
File "/volume1/homes/admin/Drive/stock/order/kenbot.py", line 70, in f_retry
return f(*args, **kwargs)
File "/volume1/homes/admin/Drive/stock/order/kenbot.py", line 176, in login
self.driver_.get("http://www.stockbroking.com.my")
File "/volume1/homes/admin/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 333, in get
self.execute(Command.GET, {'url': url})
File "/volume1/homes/admin/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/volume1/homes/admin/venv/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: net::ERR_NAME_NOT_RESOLVED
(Session info: headless chrome=94.0.4606.81)
uj5u.com熱心網友回復:
假設您正在使用 docker-compose,您可以添加以下 IP www.stockbroking.com.my:
...
services:
<app>:
extra_hosts:
- "www.stockbroking.com.my:<add IP address here>"
...
或者, docker run --add-host www.stockbroking.com.my:<add IP address here> ...
或者使用 Python docker SDK,如注釋中所示:
container = client.containers.run('selenium/standalone-chrome', user = 'root', detach=True, auto_remove=True, environment = ["TZ=Asia/Kuala_Lumpur"], ports={'4444/tcp' :('127.0.0.1',4444)}, extra_hosts={'www.stockbroking.com.my': '999.99.99.999'} , 特權 = True)
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/337997.html
