[英]Selenium Firefox Python: Can we use relative path for downloads folder?
Hello:) This is related to my question here Selenium Firefox Python: How to change download directory thank you so much @Thamognya for the assistance.您好:)这与我的问题有关Selenium Firefox Python:如何更改下载目录非常感谢@Thamognya 的帮助。
Can we use a relative path for this?我们可以为此使用相对路径吗? We're using Docker in CircleCI and it will be much more convenient to use the relative path "ProjectTitle/downloads"
as path for download.我们在 CircleCI 中使用 Docker ,使用相对路径"ProjectTitle/downloads"
作为下载路径会更方便。 Currently it's working for absolute path /Users/this/is/the/absolute/path/downloads
.目前它适用于绝对路径/Users/this/is/the/absolute/path/downloads
。 Is there a way to format it to work for relative path?有没有办法格式化它以适用于相对路径?
I tried this but it goes to the default Downloads folder:我试过了,但它进入了默认的下载文件夹:
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
options = Options()
options.set_preference("browser.download.folderList", 2)
options.set_preference("browser.download.manager.showWhenStarting", False)
options.set_preference("browser.download.dir", r"./downloads")
options.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/csv")
context.driver = webdriver.Firefox(options=options)
Even for this it goes to the default Downloads folder as well:即使这样,它也会进入默认的下载文件夹:
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
options = Options()
options.set_preference("browser.download.folderList", 2)
options.set_preference("browser.download.manager.showWhenStarting", False)
options.set_preference("browser.download.dir", r'ProjectTitle/downloads')
options.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/csv")
context.driver = webdriver.Firefox(options=options)
Other attempts:其他尝试:
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
options = Options()
options.set_preference("browser.download.folderList", 2)
options.set_preference("browser.download.manager.showWhenStarting", False)
options.set_preference("browser.download.dir", "ProjectTitle/downloads")
options.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/csv")
context.driver = webdriver.Firefox(options=options)
Others:其他:
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
options = Options()
options.set_preference("browser.download.folderList", 2)
options.set_preference("browser.download.manager.showWhenStarting", False)
options.set_preference("browser.download.dir", r"./downloads")
options.set_preference("browser.helperApps.neverAsk.saveToDisk", "text/csv")
context.driver = webdriver.Firefox(options=options)
You can always convert a relative path to an absolute path.您始终可以将相对路径转换为绝对路径。
( https://stackoverflow.com/a/40311142/7058266 ) ( https://stackoverflow.com/a/40311142/7058266 )
Example:例子:
>>> import os
>>> os.path.abspath("downloads_folder")
'/Users/michael/github/SeleniumBase/examples/downloads_folder'
Just convert the relative path to an absolute one before you use it.只需在使用之前将相对路径转换为绝对路径。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.