selenium2 怎样使用定制的 Firefox profile自动保存文件
第一步:确定你想要自己保存的文件类型。要确认你想自动下载的内容类型,你可以使用 curl
:
curl -I URL|grep "Content-Type"
另外一个找出内容类型的方法是使用 requests
模块:
import requests
content_type = requests.head('http://www.python.org').headers['content-type']
print(content_type)
一旦你确定了内容类型,你就可以设置 firefox profile
相关:browser.helperApps.neverAsk.saveToDisk
下面是一个实例:
import os
from selenium import webdriver
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList",2)
fp.set_preference("browser.download.manager.showWhenStarting",False)
fp.set_preference("browser.download.dir",os.getcwd())
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/octet-stream")
browser = webdriver.Firefox(firefox_profile=fp)
browser.get("http://pypi.python.org/pypi/selenium")
browser.find_element_by_partial_link_text("selenium-2").click()
上面的例子中,我们用了application/octet-stream
这个内容类型,browser.download.dir
指定了你想要保存下载文件的路径。