【发布时间】:2019-08-12 16:19:53
【问题描述】:
我需要使用 chrome 和 selenium 从网站下载 xls 文件。我需要访问多个网站,因此我需要打开新标签。但是,当我打开第二个选项卡时,我无法下载我需要的文件。以下是我的代码的简单版本。我刚刚从一个选项卡下载了一些文件然后使用window.open() 打开一个新文件的图像:
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
options = webdriver.ChromeOptions()
prefs = {'download.default_directory' : SAVE_PATH, "download.prompt_for_download": False}
options.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(executable_path = DRIVE_PATH, chrome_options = options)
driver.execute_script("window.open('https://www.fhfa.gov/DataTools/Downloads/Pages/House-Price-Index-Datasets.aspx#mpo');")
time.sleep(5)
driver.switch_to.window(driver.window_handles[1])
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='WebPartWPQ2']/div[1]/table[3]/tbody/tr[2]/td[2]/p/a"))).click()
无需打开新标签,我就可以成功下载文件。但打开新标签后,chrome 告诉我“失败 - 下载错误”。我的代码有问题吗?
【问题讨论】:
标签: selenium google-chrome download webdriver