在 selenium python 的特定位置下载图像
Downloading images at a particular location in selenium python
我正在尝试使用 selenium 下载图像,但我不知道如何将这些文件定向到所需位置。谁能告诉我怎么做?
使用此代码在 Selenium-Python 绑定中设置所需的下载位置:
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:/Downloads”,但您可以将其更改为任何其他目的地。
对于 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'
是您要下载文件的磁盘路径
按照此post使用 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')
然后 select 下载按钮并点击它。
如果您只有图像的 link,我建议您使用诸如 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()
我正在尝试使用 selenium 下载图像,但我不知道如何将这些文件定向到所需位置。谁能告诉我怎么做?
使用此代码在 Selenium-Python 绑定中设置所需的下载位置:
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:/Downloads”,但您可以将其更改为任何其他目的地。
对于 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'
是您要下载文件的磁盘路径
按照此post使用 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')
然后 select 下载按钮并点击它。
如果您只有图像的 link,我建议您使用诸如 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()