怎样才能让selenium不产生临时文件
时间: 2023-07-21 10:25:52 浏览: 50
Selenium 在执行 webdriver 的时候会产生一些临时文件,这些文件主要用于存放浏览器的缓存和 cookie 等数据。如果您想要避免这些临时文件的产生,您可以在创建 webdriver 实例的时候传入一个自定义的临时文件夹路径,如下所示:
```python
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--user-data-dir=/path/to/custom/profile/folder')
driver = webdriver.Chrome(options=options)
```
您可以将 `/path/to/custom/profile/folder` 替换为您希望使用的任何文件夹路径。这样,Selenium 就会在指定的文件夹中存储浏览器数据,而不是在默认的临时文件夹中产生临时文件。
相关问题
关闭selenium产生的临时文件
当您使用 Selenium 运行 webdriver 时,它会在默认的临时文件夹中存储浏览器的缓存、cookie 和其他数据。如果您想要关闭这些产生的临时文件,可以在创建 webdriver 实例时使用 `user-data-dir` 和 `--disable-extensions` 选项,如下所示:
```python
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--user-data-dir=/dev/null')
options.add_argument('--disable-extensions')
driver = webdriver.Chrome(options=options)
```
在这个例子中,我们将 `--user-data-dir` 选项设置为 `/dev/null`,这会将所有的浏览器数据存储到 `/dev/null` 中,这是一个特殊的 Linux 文件,它会自动将所有写入它的数据丢弃。此外,我们还将 `--disable-extensions` 选项设置为 `True`,这会禁用所有的扩展程序,这些扩展程序可能会产生临时文件。
请注意,这种方法会完全禁止浏览器数据和扩展程序,这可能会影响您的测试结果。因此,只有在特定情况下才应该使用这种方法。
Selenium打开Firefo 总是打开临时文件
Selenium 使用 Firefox 浏览器时,可能会出现打开临时文件的问题。这可能是由于 Firefox 浏览器的安全设置所导致的。
你可以尝试以下几种方法:
1. 设置 Firefox 浏览器的默认下载路径,可以在 Firefox 的“选项”中找到“常规”选项卡,然后在“下载”部分设置默认下载路径。
2. 在 Firefox 浏览器中输入“about:config”并回车,在搜索框中输入“browser.download.folderList”,然后将值改为“2”。
3. 在使用 Selenium WebDriver 启动 Firefox 浏览器时,可以设置 FirefoxProfile,以便在浏览器中设置下载路径。示例代码如下:
```
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", "C:\\Downloads")
fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/pdf")
driver = webdriver.Firefox(firefox_profile=fp)
```
以上方法中,第三种方法可能是最好的解决方案,因为它可以在代码中设置浏览器下载路径,避免了手动设置的工作。