我正在尝试使用selenium下载图像,但我不知道如何将这些文件定向到所需的位置。有人能告诉我怎么做吗?
使用此代码在SeleniumPython绑定中设置所需的下载位置:
executable_path = r"C:\Selenium+Python\chromedriver.exe"
options = webdriver.ChromeOptions()
prefs = {'download.default_directory' : '/path/to/dir'}
options.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(executable_path, options=options)
您需要将/path/to/dir
更改为所需位置。
如果您使用Chrome网络驱动程序,您可以使用以下设置:
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("download.default_directory=C:/Downloads")
driver = webdriver.Chrome(chrome_options=options)
在这里,我将其设置为";C:/下载";但您可以将其更改为任何其他目的地
对于Firefox,您可以使用以下内容:
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.manager.showWhenStarting", False)
profile.set_preference("browser.download.dir", 'PATH TO DESKTOP')
profile.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/x-gzip")
driver = webdriver.Firefox(firefox_profile=profile)
其中'PATH TO DESKTOP'
是您磁盘上要下载文件的路径
根据本文使用firefox 下载
from selenium import webdriver
profile = webdriver.FirefoxProfile()
path = 'C:\downloads'
profile.set_preference('browser.download.folderList', 2) # custom location
profile.set_preference('browser.download.manager.showWhenStarting', False)
profile.set_preference('browser.download.dir', path)
profile.set_preference('browser.helperApps.neverAsk.saveToDisk', 'image/png', 'image/jpeg')
然后选择按钮下载并点击它。
如果你只有图片的链接,我建议你使用mechanize或urllib来下载内容
img = driver.find_element_by_xpath(xpath)
src = img.get_attribute('src')
# download the image
req = urllib.urlopen(src)
f = open(filename,'wb')
f.write(req.read())
f.close()