我正在尝试从该网站下载Excel文件。但不幸的是我的代码无法下载excel文件。有一个下载按钮,我以某种方式从python单击了该按钮。请检查我的代码:
import requests
from bs4 import BeautifulSoup as BS
from selenium import webdriver
from fake_useragent import UserAgent
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36'}
driver = webdriver.Chrome('chromedriver_win32\chromedriver')
page = 'https://data.world/makeovermonday/2019w16'
driver.get(page)
inputElement = driver.find_element_by_id("fileactions.files.download")
#inputElement.clear()
#inputElement.send_keys(company)
inputElement.submit()
答案 0 :(得分:1)
这里最简单的方法是使用Python SDK。
或者,您可以使用steps_per_epoch = round(BATCH_SIZE) // BATCH_SIZE
并通过API调用下载数据集。看一下这些端点:
https://apidocs.data.world/toolkit/api/api-endpoints/datasets/downloaddataset https://apidocs.data.world/toolkit/api/api-endpoints/files/downloadfile
前者的一个例子:
steps_per_epoch = num_train//BATCH_SIZE # There is no need to use the round() function.
答案 1 :(得分:0)
这对我来说似乎还行:
import requests
from bs4 import BeautifulSoup as BS
from selenium import webdriver
from fake_useragent import UserAgent
import time
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Safari/537.36'}
driver = webdriver.Chrome('C:/chromedriver_win32/chromedriver.exe')
page = 'https://data.world/makeovermonday/2019w16'
driver.get(page)
driver.execute_script("window.scrollTo(0, 400)")
dropdownElement = driver.find_element_by_id("fileactions.files.download")
dropdownElement.click()
downloadElement = driver.find_element_by_xpath("/html/body/div[3]/div/ul/li/a/div[2]/div")
downloadElement.click()
答案 2 :(得分:0)
您希望在单击图标按钮后开始下载,但它只会显示一个带有实际下载按钮的弹出面板。要开始下载,您必须单击该按钮。
首先, submit()
仅适用于表单。在给定的页面中,无法提交下载按钮。您必须使用click()
。
第二,在您单击第一个按钮后,它会显示一个带有下载链接的弹出模式。您必须单击该按钮才能真正开始下载。您必须单击以下元素才能开始下载。
driver.find_element_by_css_selector("div.open > ul > li > a");