【发布时间】:2020-09-08 16:33:32
【问题描述】:
我在尝试使用 Selenium Chromedriver 从网站上的同一个下拉菜单中下载两个单独的文件时遇到问题。
我有代码可以点击这两个链接,但它只承认第一个链接;第二个文件没有被下载。我知道当我不使用 webdriver 时,我可以同时进行多个下载,所以问题可能是 chromedriver 一次只允许下载一个?我不知道。我尝试在电子表格和 shapefile 点击之间添加一个隐式等待,但这最终导致代码只下载 shapefile 而不是电子表格。这是我的代码。
from selenium import webdriver
### Assign chrome driver path and setup driver ###
chromedriver = r"C:\Users\johns\Documents\chromedriver"
driver = webdriver.Chrome(chromedriver)
### Open Chrome and go to webpage for file ###
driver.get("http://data-ocpagis.opendata.arcgis.com/datasets/osceolataxparcels09012020?geometry=-82.957%2C27.570%2C-79.562%2C28.419")
### Wait because ARCGISOL webpages take a little to fully load ###
driver.implicitly_wait(5)
### Click Download dropdown button ###
DownloadButton = driver.find_element_by_xpath("""//*[@id="ember64"]/button""")
DownloadButton.click()
### Click link for csv download ###
CSVLink = driver.find_element_by_id("ember66")
CSVLink.click()
### Click link for shapefile download ###
ShapefileLink = driver.find_element_by_id("ember68")
ShapefileLink.click()
使用此代码,单击 CSV 文件按钮并下载文件,但之后没有任何反应。我需要此代码从下拉菜单中单击并下载电子表格和 shapefile。
【问题讨论】:
标签: python-3.x selenium selenium-webdriver selenium-chromedriver