如何减少硒python中chromedriver cpu的使用



我正在尝试使用chromedriver作为驱动程序,在python-im中使用selenium自动登录和抓取数据。但我想用5账户做这件事,我仍然在想什么是最好的方法。

现在,我在python文件中创建代码,然后创建批处理文件来运行python。所以我可以用多个帐户打开多个批处理文件。

但问题是cpu使用率太高,所以我只能使用3个帐户。

到目前为止,我所做的故障排除是更改选项,使铬无头使用此代码

self.options = webdriver.ChromeOptions()
self.options.headless = True
self.options.add_argument(f'user-agent={user_agent}')
self.options.add_argument("--window-size=1920,1080")
self.options.add_argument('--ignore-certificate-errors')
self.options.add_argument('--allow-running-insecure-content')
self.options.add_argument("--disable-extensions")
self.options.add_argument("--proxy-server='direct://'")
self.options.add_argument("--proxy-bypass-list=*")
self.options.add_argument("--start-maximized")
self.options.add_argument('--disable-gpu')
self.options.add_argument('--disable-dev-shm-usage')
self.options.add_argument("--FontRenderHinting[none]")
self.options.add_argument('--no-sandbox')
self.options.add_argument('log-level=3')
self.driver = webdriver.Chrome(executable_path="chromedriver.exe", options=self.options)

但仍然无法实现我的目标(5账户(。我能做些什么来实现我的目标吗?

谢谢。

我注意到(通过在测试运行时观察htop进程(,chrome的崩溃报告占用了大量的CPU和内存

由于你使用的是Chrome Headless,我发现添加它可以使我的CPU使用量减少约20%:

--禁用崩溃报告程序

这只会在无头运行时禁用这可能会加快你的速度!!!

我目前的设置如下,我将CPU减少了约20%(但只节省了少量时间(:

self.options.add_argument("--no-sandbox");
self.options.add_argument("--disable-dev-shm-usage");
self.options.add_argument("--disable-renderer-backgrounding");
self.options.add_argument("--disable-background-timer-throttling");
self.options.add_argument("--disable-backgrounding-occluded-windows");
self.options.add_argument("--disable-client-side-phishing-detection");
self.options.add_argument("--disable-crash-reporter");
self.options.add_argument("--disable-oopr-debug-crash-dump");
self.options.add_argument("--no-crash-upload");
self.options.add_argument("--disable-gpu");
self.options.add_argument("--disable-extensions");
self.options.add_argument("--disable-low-res-tiling");
self.options.add_argument("--log-level=3");
self.options.add_argument("--silent");

我发现这是一个很好的命令行开关列表(我认为是完整的列表(,并给出了解释:https://peter.sh/experiments/chromium-command-line-switches/

这里还提到了一些您可以关闭的附加功能:https://github.com/GoogleChrome/chrome-launcher/blob/main/docs/chrome-flags-for-tools.md

我希望这能帮助

self.options.add_argument('--headless')

这将使驾驶员比之前跑得更快

相关内容

  • 没有找到相关文章

最新更新