Selenium headless browser webdriver [Errno 104] Connection reset by peer

与世无争的帅哥 提交于 2019-11-28 10:03:15

After days of jingling around this issue, finally found the cause. Writing it here for the benefit of the community. The headless browser was failing due to lack of RAM on the server, strange error messages from webdriver were real pita.

The server was running straight up for 60 days without reboot, Rebooting it did the trick. After increasing the swap by 3 times, has not faced issue for past few days. Also scheduled a task to cleanup page file caches (http://www.yourownlinux.com/2013/10/how-to-free-up-release-unused-cached-memory-in-linux.html).

Found this question while looking for similar error. Look's like it's a selenium 3.8.1 and 3.9.0 bug.

https://github.com/SeleniumHQ/selenium/issues/5296

Downgrade to 3.8.0 solves this problem

JohnM

I have been using Selenium and chromedriver (python3) for scraping purposes for some time now. With the latest Google Chrome update I had to deal with two issues.

1) Error on webdriver launch:

Solution: I had to add "no-sandbox" argument.

chrome_options.add_argument('--no-sandbox')

2) [Errno 104] Connection reset by peer:

Solution. There seems to be a problem with sockets and http requests. Either the webpage content is too big or you don't give the page enough time to load. At least that's what I thought. I set the maximum page load time to 60 seconds and it seems to be working fine.

driver.set_page_load_timeout(60)

I added a small delay between webdrivers initialisations which also seems to help.

time.sleep(0.5)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!