【问题标题】:Use Selenium to download multiple URLs as PDFs使用 Selenium 将多个 URL 下载为 PDF
【发布时间】:2019-12-24 00:34:32
【问题描述】:

我正在尝试让 Selenium 在 Safari 上将网页的 URL 下载为 PDF。到目前为止,我已经能够打开 URL,但我无法让 Safari 下载它。到目前为止,我发现的所有解决方案要么适用于其他浏览器,要么不起作用。理想情况下,我希望它下载一个页面的所有链接,然后转到下一页。

起初我认为单击每个超链接然后下载它是要走的路。但这需要每次切换窗口,所以我试图找到一种无需点击的方式下载它,但没有任何效果。

我在编程方面还很陌生,所以我确信我遗漏了一些东西。

import selenium
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import pdfkit


browser = webdriver.Safari()
browser.get(a_base_url)
username = browser.find_element_by_name("tb_LoginName")
password = browser.find_element_by_name("tb_Password")
submit = browser.find_element_by_id("btn_Login")
username.send_keys(username)
password.send_keys(password)
submit.click()

element=WebDriverWait(browser,   10).until(EC.presence_of_element_located((By.XPATH, '//*[@id="maincolumn"]/div/table/tbody/tr[2]/td[9]/a[2]'))).click()
browser.switch_to_window(browser.window_handles[0])
url=browser.current_url

【问题讨论】:

    标签: python macos selenium pdf


    【解决方案1】:

    我会采用以下方法:

    1. 通过WebElement.get_attribute()函数获取你要下载的链接的href attribute
    2. 使用 urllibrequests 库在不使用浏览器的情况下从步骤 1 中检索 URL

    很可能您还需要通过WebDriver.get_cookies 函数将它们添加到Cookie 标题中以供您的下载请求

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-04
      • 1970-01-01
      • 1970-01-01
      • 2018-03-08
      • 2019-05-28
      • 1970-01-01
      相关资源
      最近更新 更多