我正在尝试从 Bundestag 的网站 中抓取一些 PDF 的链接。 关于同一个问题,有一个old question,但它没有提供答案。但是,我将其发布在这里以获取上下文和更多信息,以备不时之需。
我的代码只能部分工作,因为它只输出第一个 PDF 的链接并附加到
pdf_links
,而它应该从页面上抓取所有链接,然后(通过button
)移动到下一页。
我的代码是这样的:
import time
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
driver = webdriver.Chrome("C:/Program Files/Chrome Driver/chromedriver.exe")
driver.get('https://www.bundestag.de/protokolle')
button_count = 0
pdf_links = [] # Initialize empty list to store links
mywaits = 100
for a in range(10):
WebDriverWait(driver, mywaits).until(EC.presence_of_element_located((By.CSS_SELECTOR,
"div.slick-initialized")))
elements = driver.find_elements(By.CSS_SELECTOR, "div.slick-initialized")
for element in elements:
pdf_link = element.find_element(By.CSS_SELECTOR, "a")
pdf_links.append(pdf_link.get_attribute('href')) # Append the href attribute to list
WebDriverWait(driver, mywaits).until(EC.element_to_be_clickable((By.CSS_SELECTOR,
"div.slick-initialized")))
button = driver.find_element(By.CSS_SELECTOR, "div.slick-initialized")
button.click()
print(pdf_links)
button_count += 1
time.sleep(1) # Add a short delay to allow the new content to load
driver.close()
print(pdf_links)
这是输出:
['https://dserver.bundestag.de/btp/20/20090.pdf']
['https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf']
['https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf']...
有关其他上下文,这是网站的外观。红色是链接附加到列表的文档,绿色是传递到下一页文档的按钮。
使用
infinite
循环并检查next
按钮,如果可用,单击它并等待页面加载,否则中断循环。
使用
WebDriverWait()
处理动态元素。
代码:
driver.get("https://www.bundestag.de/protokolle")
pdf_links = []
while True:
for link in WebDriverWait(driver,10).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, "div.bt-documents-description>ul a.bt-link-dokument"))):
pdf_links.append(link.get_attribute("href"))
try:
nextButton=WebDriverWait(driver,10).until(EC.presence_of_element_located((By.CSS_SELECTOR,"button.bt-paginierung__button--next:nth-of-type(2)")))
nextButton.location_once_scrolled_into_view
time.sleep(0.5)
nextButton.click()
time.sleep(2)
except:
print("No more next button!")
break
print("Total pdf links count : {}".format(len(pdf_links)))
print(pdf_links)
控制台输出:
No more next button!
Total pdf links count : 580
['https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf', 'https://dserver.bundestag.de/btp/20/20090.pdf', 'https://dserver.bundestag.de/btp/20/20089.pdf', 'https://dserver.bundestag.de/btp/20/20088.pdf', 'https://dserver.bundestag.de/btp/20/20087.pdf', 'https://dserver.bundestag.de/btp/20/20086.pdf', 'https://dserver.bundestag.de/btp/20/20085.pdf', 'https://dserver.bundestag.de/btp/20/20084.pdf', 'https://dserver.bundestag.de/btp/20/20083.pdf', 'https://dserver.bundestag.de/btp/20/20082.pdf', 'https://dserver.bundestag.de/btp/20/20081.pdf']
重要
@Kunduk 答案无法正常工作,因为它单击了 错误的按钮 并仅返回前 10 条记录 58 次。
这是我为解决问题而实施的解决方案。然而。请参阅@Kunduk 的回答以获得良好的实践。尽管他的回答没有解决问题,但不得不猜测确切的迭代次数并不是一个好习惯。我的回答可能有用,因为它实现了
By.XPATH
搜索来代替 By.CSS_SELECTOR
。此外,它还允许检索更多和更旧的文件。
import time
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
driver = webdriver.Chrome("C:/Program Files/Chrome Driver/chromedriver.exe")
driver.get('https://www.bundestag.de/protokolle')
button_count = 0
pdf_links = [] # Initialize empty list to store links
mywaits = 100
for a in range(445):
WebDriverWait(driver, mywaits).until(EC.presence_of_element_located((By.CSS_SELECTOR, "div.slick-initialized")))
elements = driver.find_elements(By.XPATH, "//table/tbody/tr/td[2]/div/ul/li[1]/a")
for element in elements:
try:
pdf_link = element.get_attribute('href')
pdf_links.append(pdf_link)
except:
continue
WebDriverWait(driver, mywaits).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "button.slick-next.slick-arrow")))
button = driver.find_element(By.CSS_SELECTOR, "button.slick-next.slick-arrow")
button.click()
button_count += 1
time.sleep(1)
driver.close()
print(pdf_links)