繁体   English   中英

Selenium Firefox Python:我们可以使用下载文件夹的相对路径吗?

[英]Selenium Firefox Python: Can we use relative path for downloads folder?

您好:)这与我的问题有关Selenium Firefox Python:如何更改下载目录非常感谢@Thamognya 的帮助。

我们可以为此使用相对路径吗? 我们在 CircleCI 中使用 Docker ,使用相对路径"ProjectTitle/downloads"作为下载路径会更方便。 目前它适用于绝对路径/Users/this/is/the/absolute/path/downloads 有没有办法格式化它以适用于相对路径?

我试过了,但它进入了默认的下载文件夹:

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)

即使这样,它也会进入默认的下载文件夹:

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)

其他尝试:

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)

其他:

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)

您始终可以将相对路径转换为绝对路径。

https://stackoverflow.com/a/40311142/7058266

例子:

>>> import os
>>> os.path.abspath("downloads_folder")
'/Users/michael/github/SeleniumBase/examples/downloads_folder'

只需在使用之前将相对路径转换为绝对路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM