在selenium python中的特定位置下载图像



我正在尝试使用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()

最新更新