Скачайте файл после аутентификации, из пяти вариантов. Селен - PullRequest
0 голосов
/ 16 октября 2019

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

from selenium import webdriver
from selenium.webdriver.common.keys import Keys 
from selenium.webdriver.common.by import By

import time

driver = webdriver.Chrome(executable_path=r"C:\Driverchrome\chromedriver.exe")
driver.get("https://earthexplorer.usgs.gov/download/external/options/LANDSAT_8_C1/LC80260472019253LGN00/INVSVC/")

login=driver.find_element_by_xpath("//div[input/@class='button pageButton']")
login.click()
time.sleep(2)

usuario=driver.find_element_by_name("username")
usuario.send_keys("Alex")

contrasena=driver.find_element_by_name("password")
contrasena.send_keys("micontraseña")
contrasena.send_keys(Keys.ENTER)

descargar=driver.find_element_by_partial_link_text("Downl")
descargar.click()

Я пробовал разные способы вызова кнопки загрузки, но ни один из них не работал для меня. код кнопки загрузки:

<input type="button" class="button inlineButton" title="Download this Product" onclick="window.location='https://earthexplorer.usgs.gov/download/12864/LC80260472019253LGN00/STANDARD/INVSVC'" value="Download">

Важно отметить, что другие кнопки загрузки имеют аналогичный код, за исключением ссылки на скачивание

1 Ответ

0 голосов
/ 16 октября 2019

ответил в комментариях. Если возможно, вы можете добавить Id к кнопке, которую хотите найти, и затем найти ее с селеном, используя этот уникальный идентификатор.

Если вы не хотите или не можете добавить Id, вы можете использовать XPathнайти последнюю кнопку элемента. Больше информации о Xpath здесь: W3School XPath

...