python 解决 webdriver Firefox 内存占用问题

现象:运行selenium 做网页自动化时,刚开始速度正常,但运行一段时间后速度明显变慢,查看cpu占用情况,发现慢的原因是firefox的cpu占用达100%。估计是缓存问题。解决办法:

一、定时重启页面:

webdriver.refresh()                    测试有效

也有介绍调用:webdriver.delete_all_cookies()            此方法测试无效

二、通过修改fireprofile优化内存及cpu占用(有效):

profile = webdriver.FirefoxProfile()

profile.set_preference("permissions.default.image", 2)  #禁止下载图片,根据情况使用

# 禁用浏览器缓存

profile.set_preference("network.http.use-cache", False)

profile.set_preference("browser.cache.memory.enable", False)

profile.set_preference("browser.cache.disk.enable", False)

profile.set_preference("browser.sessionhistory.max_total_viewers", 3)

profile.set_preference("network.dns.disableIPv6", True)

profile.set_preference("Content.notify.interval", 750000)

profile.set_preference("content.notify.backoffcount", 3)

# 有的网站支持 有的不支持 2 35 profile.set_preference("network.http.pipelining", True)

profile.set_preference("network.http.proxy.pipelining", True)

profile.set_preference("network.http.pipelining.maxrequests", 32)

三、最有效的办法是第一第二步同步进行,运行一段时间重启页面。

 

### 如何在 Firefox 中更改语言设置 #### 方法一:通过下载并安装语言包 可以手动下载适合的火狐语言包来更改浏览器的语言。以下是具体操作方法: 访问 Mozilla 官方 FTP 网站 `ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/` 下载对应版本的语言包文件[^3]。例如,如果你使用的火狐版本是 13.0,则需要导航到 `/pub/mozilla.org/firefox/releases/13.0/` 并选择合适的平台(如 Linux 或 Windows)。对于中文支持,可以选择路径中的 `zh-CN.xpi` 文件。 完成下载之后,在 Firefox 地址栏输入 `about:addons` 打开扩展管理页面,随后拖拽 `.xpi` 文件至该窗口即可加载新的语言选项[^2]。最后重启浏览器使改动生效。 #### 方法二:利用 Selenium 自动化工具调整 Firefox 的默认显示语种 如果目标是在自动化测试框架下改变 firefox 浏览器界面呈现的文字种类,可以通过配置 profile 来实现这一需求。下面是一个简单的例子展示如何借助 python 和 selenium 库把 firefox 设置成西班牙语环境[^5]: ```python from selenium import webdriver from selenium.webdriver.firefox.options import Options as FirefoxOptions options = FirefoxOptions() options.set_preference('intl.accept_languages', 'es') driver = webdriver.Firefox(options=options) driver.get("http://www.example.com") print(driver.title) driver.quit() ``` 此脚本的关键在于设置了 `intl.accept_languages` 参数为 `'es'`, 表示接受西班牙语作为首选交流媒介。注意这里的参数值应当依据 ISO 639-1 标准填写相应的目标语言代码。 #### 方法三:移除不需要的语言包以精简系统 假如当前环境中存在多种不同区域设定的支持库而想要简化的话,可以在 Ubuntu 上执行如下命令序列来达成目的: 1. 列出所有已安装的相关软件包:`dpkg --get-selections | grep firefox` 2. 卸载特定国家/地区的本地化数据: `sudo apt-get remove firefox-locale-*your_locale*` 3. 清理残留依赖关系: `sudo apt autoremove`[^4] 以上过程有助于减少不必要的存储占用同时也可能间接影响最终用户的体验流畅度。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wenzhp1975

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值