Text 使用Selenium将文件保存到具有特定名称的特定位置

Text 使用Selenium将文件保存到具有特定名称的特定位置,text,selenium,Text,Selenium,我正在尝试将vcard下载到桌面上的特定位置,并使用特定的文件名(由我定义) 我有代码可以下载文件到我的桌面 url = "http://www.kirkland.com/vcard.cfm?itemid=10485&editstatus=0" fp = webdriver.FirefoxProfile() fp.set_preference("browser.download.folderList",2) fp.set_preference("browser.download.mana

我正在尝试将vcard下载到桌面上的特定位置,并使用特定的文件名(由我定义)

我有代码可以下载文件到我的桌面

url = "http://www.kirkland.com/vcard.cfm?itemid=10485&editstatus=0"
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", "text/x-vcard")
browser = webdriver.Firefox(firefox_profile=fp)
browser.get(url)
注意,上面的URL是vcard的链接

这是保存到代码本身所在的同一目录,并使用由我下载的站点生成的文件名

我想指定文件所在的目录和文件名

具体来说,我想将该文件命名为something.txt

另外请注意,我意识到有更简单的方法(使用urllib或urllib2)。我需要这样做(如果可能的话)b/c一些链接是javascript,这需要我使用Selenium。我以上面的URL为例来简化这种情况。如有必要,我可以提供其他示例/代码来显示更复杂的情况


最后,非常感谢你对我的帮助,我相信我会得到这个职位,并为所有的帮助,你为我提供了去年。如果不是为了这个社区,我不知道我怎么会学到去年学到的所有东西。

我有有效的代码。与其说它是一个解决方案,不如说它是一种黑客行为,但它是:

# SET FIREFOX PROFILE 
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", "text/x-vcard")

#OPEN URL 
browser = webdriver.Firefox(firefox_profile=fp)
browser.get(url)

#FIND MOST RECENT FILE IN (YOUR) DIR AND RENAME IT
os.chdir("DIR-STRING")
files = filter(os.path.isfile, os.listdir("DIR-STRING"))
files = [os.path.join("DIR-STRING", f) for f in files]
files.sort(key=lambda x: os.path.getmtime(x))
newest_file = files[-1]
os.rename(newest_file, "NEW-FILE-NAME"+"EXTENSION") 

#GET THE STRING, AND DELETE THE FILE
f = open("DIR-STRING"+"NEW-FILE-NAME"+"EXTENSION", "r")
string = f.read()
#DO WHATEVER YOU WANT WITH THE STRING/TEXT FROM THE DOWNLOAD
f.close()
os.remove("DIR-STRING"+"NEW-FILE-NAME"+"EXTENSION")
DIR-STRING是文件保存目录的路径 NEW-FILE-NAME是所需文件的名称 扩展名是.txt等