Как сохранить файл и переместить его в нужное место перед его загрузкой (python, селен)? Использование chrome вебдрайвера - PullRequest
0 голосов
/ 22 февраля 2020

Я новичок в селене chrome вебдрайвер. У меня есть доступ к веб-странице, где я ввожу свои учетные данные, и после этого у меня есть кнопка, которую я нажимаю, чтобы загрузить файл в формате csv (который идет непосредственно в мою папку загрузок).

В идеале я хотел бы отправьте загруженный CSV-файл в другую папку и переименуйте его.

Мой код выглядит следующим образом:

    from selenium import webdriver
from datetime import date
d = datetime.datetime.now() 
dayprueba="%d/%d/%d"%(d.month, d.day, d.year)

driver = webdriver.Chrome()

#acceder a pagina web
driver.get ("MY URL")


emailbox = driver.find_element_by_xpath('//*[@id="mat-input-0"]') #encuentra pagina web
emailbox.send_keys('MY EMAIL') #escribe el usuario

passwordbox = driver.find_element_by_xpath('//*[@id="mat-input-1"]')
passwordbox.send_keys('MY PASS')


botondeingreso = driver.find_element_by_xpath('/html/body/app-root/app-manual-login/div/div/div/form/button')
botondeingreso.click()

sleep(2)

botonreportes = driver.find_element_by_xpath("/html/body/app-root/app-dashboard/div/div[2]/div/div[5]/wui-dashboard-tile/div/div/div[3]/wui-button/button")
botonreportes.click()

#bajado de tablas de argentina
#bajado de tabla de orders

botonfechaargentina = driver.find_element_by_xpath('//*[@id="mat-input-2"]')
botonfechaargentina.send_keys('1/1/2018')

sleep(1)


flechaprov = driver.find_element_by_xpath('//*[@id="mat-select-3"]/div/div[2]')
flechaprov.click()
sleep(1)

botonprovinciasargentinas= driver.find_element_by_xpath('//*[@id="mat-option-12"]/span')
botonprovinciasargentinas.click()

sleep(1)

botondefechadehoy= driver.find_element_by_xpath('//*[@id="mat-input-3"]')
botondefechadehoy.send_keys(dayprueba)

clickearafueradelapantalla= driver.find_element_by_xpath('/html/body/app-root/app-reports/div')
clickearafueradelapantalla.click()

botondedescargaAR = driver.find_element_by_xpath('/html/body/app-root/app-reports/div/form/div[4]/button')
botondedescargaAR.click()

Там на последнем шаге кнопка нажатия работает нормально, но загрузка идет прямо в C: \ Users \ barra \ Downloads (который моя папка для скачивания и я хочу переместить ее в другую).

Любая помощь приветствуется !!

спасибо

На изображении показано имя загруженного файл, я хочу изменить его на orders_ar, все, начиная с первого «_», я хочу удалить и изменить на «ar»

1 Ответ

0 голосов
/ 23 февраля 2020

вы можете изменить путь загрузки chromedriver, используя настройки chrome, как показано ниже.

from selenium.webdriver.chrome.options import Options

chromeOptions = webdriver.ChromeOptions()
prefs = {"download.default_directory" : "/your/desired/path"}
chromeOptions.add_experimental_option("prefs",prefs)
``
Make sure you add these line before `driver = webdriver.Chrome(chrome_options=chrome_options)`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...