我看到您可以通过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",getcwd())
fp.set_preference("browser.helperApps.neverAsk.saveToDisk","text/csv")
browser = webdriver.Firefox(firefox_profile=fp)
但是,我想知道是否有类似的方法可以在下载文件时为其命名?最好不要使用与配置文件关联的名称,因为我将通过一个浏览器实例下载大约6000个文件,并且不想为每个下载重新初始化驱动程序。
cookies = driver.get_cookies()
你不能使用urllib,但是urllib2的openers可以帮助你(urllib不知道如何发送cookie头,而urllib2可以):opener = urllib2.build_opener( urllib2.HTTPCookieProcessor(cookielib.CookieJar()) ) opener.addheaders.append( ('Cookies', 'key=val, key2=val2') )
此外,你可以构建一个Request对象,并使用Request.add_header将原始标头添加到HTTP请求中(请检查cookie标头格式):Request.add_header('Cookies', 'key=val,key2=val2')
如果有不清楚的地方,请告诉我。 - Pavel Daynyak