长时间 Selenium 执行后 Chrome 关闭

Posted

技术标签:

【中文标题】长时间 Selenium 执行后 Chrome 关闭【英文标题】:Chrome closing after long Selenium execution 【发布时间】:2021-12-19 22:13:55 【问题描述】:

我的目标是从网站获取 cmets 数据。反馈在不同的 div 区域/类中。

我能够获取数据,直到达到某个点,但在执行超过 20 分钟后,cmets 加载缓慢并且 chrome 自行关闭。测试失败,无法找到元素。我正在使用以下 Chrome 选项和新的 selenium 4 功能开发工具来阻止此问题。

将 bonigarcia 与 selenium 4 一起使用。

谁能给我一些建议以加快执行?

WebDriverManager.chromedriver().setup();
ChromeOptions options = new ChromeOptions();
        options.addArguments("--blink-settings=imagesEnabled=false");
        //options.addArguments("--headless");
        options.addArguments("--disable-extensions");
        options.addArguments("--no-sandbox");
        options.addArguments("-disable-cache");
        //options.addArguments("--window-size=1920,1080");
        //options.addArguments("--disable-dev-shm-usage");
        options.addArguments("--disable-javascript");
        options.addArguments("--lang=en");
        options.addArguments("--start-maximized");

        options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));
        options.setExperimentalOption("useAutomationExtension", false);




        driver = new ChromeDriver(options);
        DevTools devTools = ((ChromeDriver)driver).getDevTools();
        devTools.createSession();
        devTools.send(Network.enable(Optional.empty(), Optional.empty(), Optional.of(100000000)));
        devTools.send(Network.setCacheDisabled(true));

【问题讨论】:

还尝试在循环中的每个下一个评论页面中清除本地内存。仍然有缓慢和 chrome 关闭或 cmets 不再加载 【参考方案1】:

无法解决此问题,加载更多项目会增加 chrome 的内存,这就是您面临问题的原因。

【讨论】:

以上是关于长时间 Selenium 执行后 Chrome 关闭的主要内容,如果未能解决你的问题,请参考以下文章

是否存在无法检测到的 Selenium WebDriver 版本?

请求偶尔在chrome中停滞很长时间

制作 chrome/firefox 通知以保持更长时间

Chrome 事件触发在大型 DOM 中需要很长时间

Chrome 开发者工具中的空闲和其他时间。为啥浏览器长时间不活动?

appium长时间运行内存溢出解决方式