Estoy en una página PDF en mi navegador e intento hacer clic en el botón de descarga en la esquina superior derecha. Esta imagen se agrega para mayor claridad. Intenté hacer clic con el botón derecho en el botón, tomando tanto el selector de CSS como el XPath, pero en mi código, no aparece como un elemento. ¿Qué estoy haciendo mal?
Este es mi código de referencia.
page.goto(url); page.click([link that opens up new tab]); const [tab1, tab2, tab3] = await browser.pages(); await tab3.click("#download");Logré solucionar mi problema usando la segunda solución publicada aquí: ¿Cómo descargar un pdf que se abre en una nueva pestaña en titiritero? . Básicamente, usando titiritero extra, cambié el comportamiento de hacer clic en el enlace para activar la descarga manualmente.
puppeteer.use(require('puppeteer-extra-plugin-user-preferences')({ headless: false, timeout: 30000, ignoreHTTPSErrors: true, userPrefs: { download: { prompt_for_download: false, open_pdf_in_system_reader: true }, plugins: { always_open_pdf_externally: true } } })); let browser = await puppeteer.launch(); let page = await browser.newPage(); ... await page._client.send('Page.setDownloadBehavior', {behavior: 'allow', downloadPath: './'});¡Gracias por la ayuda!
Puedes usar este código que es muy fácil:
from urllib import request url = 'https://dagrs.berkeley.edu/sites/default/files/2020-01/sample.pdf' request.urlretrieve(url, 'sample.pdf')