Сохранить файл в папку s3 после выбора опции селен / веб-драйвер - PullRequest
0 голосов
/ 30 апреля 2020

В одном из моих вариантов использования я пытаюсь получить данные о валюте с веб-сайта, а затем загрузить ежедневные курсы валют, которые в дальнейшем будут использоваться для разговорной деятельности. Теперь, используя приведенный ниже фрагмент кода, я могу загрузить файл на свой локальный компьютер. Моя конечная цель - запускать это каждый день, поэтому я подумал, что у меня должна быть запланированная лямбда-функция и сохранить ее в корзине S3. Теперь я новичок во всем этом и использовании различных служб, поэтому хотел получить некоторые входные данные -

  1. Как я могу сохранить файл, который я получаю после операции button.click (), на S3 ведро?
  2. Как только это сохраняется на S3, как это можно поместить в лямбда-функцию? Поскольку это будет иметь селен и потребуется chrome драйвер в качестве зависимости **
from selenium import webdriver 
from selenium.webdriver.support import expected_conditions as EC 
from selenium.webdriver.support.ui import WebDriverWait 
browser = webdriver.Chrome('C:/Users/user1/Downloads/chromedriver_win32/chromedriver.exe') 
browser.delete_all_cookies()   
browser.get('https://www.bcu.gub.uy/Estadisticas-e-Indicadores/Paginas/Cotizaciones.aspx') 
b1 = browser.find_element_by_xpath('/html/body/form/div[6]/div/div/div/div/section/div/span/div[1]/div[5]/div[1]/div/div/div/div/div[1]/div/div[2]/table/tbody/tr[1]/td[2]/div/div[2]/table/tbody/tr[5]/td[1]/input').click() #I am selecting a checkmark here from the menu
button = browser.find_element_by_xpath('/html/body/form/div[6]/div/div/div/div/section/div/span/div[1]/div[5]/div[1]/div/div/div/div/div[1]/div/div[2]/table/tbody/tr[2]/td/table/tbody/tr/td[1]/input')
button.click()

Спасибо

1 Ответ

1 голос
/ 30 апреля 2020

Как сохранить файл, полученный после операции button.click (), в корзину S3?

Используйте AWS SDK для Python (Boto3) для загрузки файл для S3.

Как только это сохраняется на S3, как это можно поместить в лямбда-функцию? Так как он будет иметь селен и потребуется chrome драйвер в качестве зависимости **

Вы можете попробовать запустить безголовый Chrome в AWS Lambda. https://github.com/adieuadieu/serverless-chrome

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