【发布时间】:2021-09-03 01:57:48
【问题描述】:
我有一个问题。
问题是,我正在用 Python 开发一个项目。该项目是网络抓取。我正在使用硒库。
使用 Selenium 库,我单击一个按钮并下载相关文件(xlsx 等)。 检查以下示例代码:
driver = webdriver.Remote('http://selenium:4444/wd/hub', desired_capabilities=DesiredCapabilities.CHROME)
driver.get("link")
cdate=time.strftime('%Y%m%d')
print(cdate)
while True:
try:
wait(driver, 1).until(EC.element_to_be_clickable((By.XPATH, "//span[text()='{}']".format(cdate)))).click()
print("Found, succes!")
time.sleep(3)
break
except:
f = '%Y%m%d'
cdate = (datetime.strptime(cdate, f) - timedelta(days=1)).strftime(f)
print("Not match")
time.sleep(3)
print(str(cdate))
当我尝试 Dockerize 我自己的代码时,它成功了。我用下面的代码进入了相关的地方。我在下面的目录中找到了下载的文件。
docker exec -it <container name> bash
cd /Downloads
ll Sample.xlsx
我需要更改下载目录。当docker容器启动时,我想将它下载到我自己的计算机上。 (像这样:c:\Desktop...)
Docker-Compose.yaml
version: '3'
services:
selenium:
image: selenium/standalone-chrome
ports:
- 4444:4444
restart: always
app:
build:
context: .
volumes:
- ./app:/app
command: sh -c "python3 dev2.py"
depends_on:
- selenium
Dockerfile:
FROM python:3.7-alpine
ENV PYTHONUNBUFFERED 1
ENV DISPLAY=:99
COPY ./requirements.txt /requirements.txt
RUN pip install -r /requirements.txt
RUN mkdir /app
COPY ./app /app
WORKDIR /app
【问题讨论】:
标签: python docker selenium web-scraping selenium-chromedriver